首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pjax 历史管理 jQuery.History.js

更新 http://www.bootcdn.cn/jquery.pjax/ 简介 pjax是一个jQuery插件,使用ajax和pushState技术提供快速的浏览体验与真正的永久链接、网页标题、以及浏览器的后退前进按钮操作...pjax通过抓取HTML从您的服务器通过Ajax和更换容器页面上的HTML内容会与Ajax。...概述 pjax不是全自动的。您需要设置和指定一个包含在您的页面上的元素,当您浏览您的网站时将被替换。...onhashchange事件触发ajax请求: 到这里工作已经完成了80%,为什么是80%呢,这里面还有一个问题: 当你直接在浏览器(新开的标签页...方案二:使用jQuery.History.js 对于要兼容IE6、IE7的情况,笔者一直使用jquery.history.js 这个插件(http://plugins.jquery.com/history

2.4K50

使用JS异步回调解决pjax加载问题

pjax的坑 使用pjax会导致部分js插件无法加载,最后我选择异步加载解决问题。 你可能会问异步就够了为什么还有个callback是干啥的,不急你先看看代码。...== 'loaded') { callback(); } }); } head.appendChild(script); } 问题 pjax...我尝试异步加载然后立马执行页面的js代码,发现页面js中对象Undefined 未定义,我第一反应不对啊,依赖的js文件都加载了,控制台执行都能页面上这段js,我想是不是还没加载好js文件,于是写了这个异步加载函数...问题继续 我写了个loadScript("",某回调函数()) 回调函数里面执行了有关这个js的代码 结果依然未定义 我蒙了 突然我发现我有点傻 回调函数()作为参数的时候这个函数已经被执行了,所以出现了未定义...于是我代码修改为 loadScript("js文件",函数名) 把()去掉就解决了 完成!修好了。

2.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    pjax使用小结

    用法 ---- 引入 jquery 和 jquery.pjax.js 注册事件 /** * 方式一 按钮父节点监听事件 * * @param selector 触发点击事件的按钮 *...、新标签打开(不切换标签)、下载、新标签打开(切换标签) if (event.which > 1 || event.metaKey || event.ctrlKey || event.shiftKey...,即以 script[src] 的形式引入的 js 脚本不会被重复加载,有必要可以改下源码。...pjax.js 默认会在请求头加入 X_PJAX 字段,并置为 true,所以以此来判断是否 pjax 请求。对于普通的请求使用常规的模版,pjax 请求则使用空模版或者特定的模版。...{title} $screen_content 模版中使用 title 标签,这样执行 pjax 请求时不仅地址栏 url 会变化,而且浏览器标签的标题内容也会变化。

    2.9K40

    handsome模板Pjax加载

    HTML:

    Butterfly的Pjax适配方案

    /vue.min.js"> - - + - 如果不是在主题配置文件的inject中引入,而是通过在特定页面写入,可能不方便在标签处直接添加data-pjax属性,参考教程中有给出解决方案...(实质其实就是第4步的变种,可以跳过第3步直接参考第4步) 新版方案 在butterfly主题中,有按照第4步中所述,在pjax选择器中添加了.js-pjax的类名,也就是说,只要是在类名为js-pjax...网页写法 pug写法 markdown写法,同html写法,此处加上标签是为了告诉渲染引擎这段不需要渲染。...添加需要局部刷新的标签类。写法类似css选择器。 pjax、pwa、gulp堪称BUG御三家,请在使用前做好心理准备。啊咧咧,温馨提示放最后会不会有点戏耍读者的意思。

    1.3K40

    前端处理动态 url 和 pushStatus 的使用

    目前我用的技术是: webpack 自动构建 AMD 模块化 js Sass 预处理 CSS 使用前端模板引擎 handlebars 解决动态操作将 html 拼接在 js 中的问题 但最近写了一个项目类似知乎这样的多页网站...如:在a标签中添加target="_blank",或按住ctrl点击,这类场景下,在新的tab页中,history对象也是新的。...且history对象记录的信息与是否同源也无关,所以唯一要满足的就是同一个标签页。...Pjax的原理十分简单。 拦截 a 标签的默认跳转动作或某些按钮的点击事件。 使用 Ajax 请求新页面。 将返回的 Html 替换到页面中。 使用 HTML5 的pushState()修改Url。...,利用HTML5 History API实现无刷新跳转 蓝飞 前端:将网站打造成单页面应用SPA(一) Coffce coffce-pjax History.js defunkt/jquery-pjax

    1.2K20

    Add Blog Animation -- Wowjs

    点击查看更新记录 更新记录 2020-12-23:内测版v0.01 编写参考文档 编写TODO 编写基础引入方案 2020-12-24:内测版v0.02 优化基础引入方案的异步加载和pjax适配 2020...\wow_init.js,配置特性动画的默认项。...外挂标签写法配置方案 点击查看外挂标签写法配置教程 外挂标签写法生效的前提是完成了上面的基础引入方案或者插件引入方案(二选一即可)。...新建: 使用方式 TO DO 提供wowjs引入基本方案 将配置内容整合进配置文件 添加异步加载和pjax适配 编写外挂标签 将wowjs开关整合进front-matter的控制项(废弃,与pjax冲突过大...) BUG反馈归纳 如果使用了gulp-babel,在压缩js时可能报错: 修改[Blogroot]\gulpfile.js,添加一行屏蔽项,不要压缩wow_init.js 在wowjs初始化设置中设置了

    1.1K40

    Hexo用wowjs给博客添加动画效果

    教程链接:Add Blog Animation – Wowjs | Akilar の糖果屋 操作 配置方案 1.在\themes\butterfly\source\js目录下新建wow_init.js...mobile: false, // 在移动设备上打开/关闭wow.js。 // 经测试此项配置无效。 live: true // 在页面上检查新的 wow.js元素。...('script[data-pjax], .pjax-reload script').forEach(*item* *=>* { 效果如下: image.png 6.找到主题配置文件_config.butterfly.yml...: /js/wow_init.js # 之后可以自己换成CDN链接 animate_css: https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1...外挂标签配置方案 如果想要给外挂标签添加同样的动画效果,可以参考Akilarの糖果屋,教程链接如下,里面有详细的配置教程和使用方法: 教程链接:Add Blog Animation – Wowjs |

    93320

    【Hexo】弹出欢迎弹窗

    Tips:本文基于Hexo+NexT主题,且开启Pjax局部刷新技术,其他主题的修改可能会有所不同,请自行了解文件对应位置 最终的实现效果如下: 选择一个好看的弹窗 首先,你既然要弹窗,就要好看...themes\next\source\js文件夹,新建sweetalert.js,文件内容请看这里,觉得复制麻烦的可以直接按Crtl+S进行保存。...保存完后的结构如下: 引入到主题中 打开\themes\next\layout\_layout.swig,在标签内插入以下语句: <script src="/<em>js</em>/sweetalert.<em>js</em>...Q&A Q:为什么要开<em>Pjax</em>? A:<em>Pjax</em>局部刷新技术不会导致每进一个页面就弹出一次窗口,而且对于我来说还有其他特别的用处~当然你也可以判定一下是不是弹过了(通过Cookies),诸如此类。...Q:不会开<em>Pjax</em>怎么办? A:自行百度,以后会专门出一篇博客。

    1.2K10

    基于TechGrow实现Hexo引流微信公众号

    参数指定 Pjax 支持重载的 Css 类名(例如 pjax),同时需要使用 pjaxSelector 参数指定获取文章主体内容的 JS 选择器。...' pjaxSelector: 'div.main-inner' Butterfly (opens new window) pjaxCssClass: 'js-pjax' pjaxSelector:...'main.layout' 配置提示 值得一提的是,pjaxCssClass 参数的作用是让 Pjax 重载引流工具的代码段,而 pjaxSelector 参数的作用是通过 JS 选择器获取文章主体内容...特别注意 由于 Pjax 非常依赖页面布局的一致性,因此请确保通过 pjaxSelector 参数指定的 JS 选择器在所有页面(包括 page 和 post)都能够获取到唯一的 HTML 标签元素,否则会导致部分页面的...如果无法满足这一点,则需要手动更改 Hexo 主题的模板代码,使 JS 选择器在所有页面都能够获取到唯一的 HTML 标签元素。

    21910

    原生JS | 通过类名获取标签

    原生JS通过类名获取标签 getElementsByClassName()是原生JavaScript提供的方法,但是并不是所有的浏览器都支持,在ie早期版本的浏览器是不允许通过这个方法获取标签的,因此...通过类名获取标签的思路 首先检测浏览器是否支持getElementsByClassName方法; 对于不支持getElementsByClassName方法的浏览器,通过标签名的方式来获取标签,之后,进行标签的筛选...,提取出符合“类名”要求的标签。...JS功能代码 1....功能优化 – 缩小选取范围 在此前的代码当中,存在着一个问题:如果通过通配符获取标签,那么所获取的标签数量过于庞大,需要筛选大量的标签,会耗费比较多的时间,此时可以借助第二个参数进行控制,允许用户传入一个参数

    13.1K60
    领券