pjax

来源:互联网 发布:淘宝网名昵称大全 编辑:程序博客网 时间:2024/05/05 13:33


简单点描述, 就是利用 ajax 技术去服务器获取文档, 在不刷新浏览器页面的情况下, 更新当前页面, 并且能保证页面的 js 和 css 等 assets 文件不会被重复加载, 然后利用浏览器提供的 pushState 功能, 对 URL 进行更新, 并能保证用户通过点击 back 按钮回溯到历史页面.

注意: 并不是所有浏览器都支持 pushState, 关于浏览器的兼容请见这里, 当浏览器不兼容的时候, 会自动使用原始的浏览方式进行访问.

由于只是刷新部分页面, 大部分的请求(css/js)都不会重新获取, 网站带有用户登录信息的外框部分都不需要重新生成了。 虽然我没有具体统计这部分的消耗, 我估计至少有40%以上的请求, 30%以上的服务器消耗被节省了。



https://github.com/defunkt/jquery-pjax

http://leyteris.iteye.com/blog/1107597

http://my.oschina.net/sub/blog/123447

http://my.oschina.net/ekc/blog/81263

http://www.zhihu.com/question/20289254


使用很简单,参考官方文档即可

定义一个<div id="pjax-container"></div>容器,加上$(document).pjax('a', '#pjax-container',{timeout:5000});即可实现pjax功能,

有时被加载的页面的JS会与当前页面冲突,造成失败,要慢慢调试。

$.ajax 的 dataType : "html": 返回纯文本 HTML 信息;包含的script标签会在插入dom时执行。



0 0
原创粉丝点击