冠富商务通中文社区

标题: [教程]整合PJAX网页无刷新,支持评论和搜索... [打印本页]

作者: admin    时间: 2017-2-14 10:46
标题: [教程]整合PJAX网页无刷新,支持评论和搜索...
[教程]整合PJAX网页无刷新,支持评论和搜索...pjax是对ajax + pushState的封装,让你可以很方便的使用pushState技术。
同时支持了缓存和本地存储,下次访问的时候直接读取本地数据,无需在次访问。
并且展现方式支持动画技术,可以使用系统自带的动画方式,也可以自定义动画展现方式。
一:整合pjax的准备工作;

检查你的网站是否引入1.7.0版本以上的jquery.js,如果没有请全局引入

1.7.0版本以上的才有pushState的封装。

二:开始整合Pjax;

     1.下载pjax.js (本文底部);

     开源地址:https://github.com/defunkt/jquery-pjax

     2.在你喜欢的位置(最好body代码结束前)引入pjax.js;

三:使用pjax;

    编辑模版footer.php在</body>标记结束前插入:

    这句话是什么意思呢?--绑定本页面非新窗口打开的所有本域链接,链接点击之后,替换content的容器的内容为新内容contentleft,ajax超时时间8秒;

    OK,因为每个模版的替换区不同,修改掉contentleft容器,保存。

    现在看看,是否可以无刷新加载了?

四:解决pjax的缓冲--加入等待动画;

    pjax.js提供了两个接口;

    当然要为pjax_loading定义css,这里就不多说了。

五:解决pjax之后,容器中一些jq事件失效的问题;

问题比如:pjax之后多说评论框不加载,ajax评论不能提交等等问题。

    问题原因:原先容器绑定的事件被新容器替换掉了,新容器的div没有绑定事件,所以点击无效。

    解决方法:利用pjax的加载完成回调函数,重新绑定事件。

    例:

    OK,我们发现多说可以正常载入了。

六:全部代码汇总一下,就是这样:

其他一些文件下载地址:百度网盘 密码:wufh








欢迎光临 冠富商务通中文社区 (http://gu1vhwx.nat.ipyingshe.com/news/) Powered by Discuz! 3.0