前言
可以参考本站 PJAX教程
pjax = pushState + ajax
本篇要说的不是ajax,而是pjax,其实从2013年下半年起,wordpress这个圈子就陆陆续续开始出现不少ajax的主题,而大家不太喜欢ajax的原因主要还是因为SEO,ajax本身对于浏览器地址栏的url是没法改变的。对于一个门外汉来说,经过长时间的摸索学习,我还是大致了解了ajax的基本原理,这顺带让我把js、jquery这一块也学了不少,现在看着网络上林林总总的jquery特效插件,随时可以扒到自己的网站上来。
但到目前为止,也没有多少篇比好的教程可以让WP这个圈子的朋友用上ajax,TP圈倒是有不少人开始用pjax了,pjax比ajax多了一个pushState,实际上就是改变浏览器地址,与ajax结合,基本上达到了较和谐的体验浏览方式,而且不会影响seo。下面所要介绍的方法去年就有了,只不过用到wordpress的实例可以说在网上基本找不到,这个pjax是封装好的,也就说直接拿过来就可以用,只需要改一改你网站对应的替换容器即可。
我在自己的INLOU主题上亲测可用,下面是本人全部封装 jqeury_1.11.1 + PJAX + 执行js的一段代码,只需要修改最后的#main为你的替换容器就可以直接使用(由于代码太多,省略掉jquery以及pjax封装部分,可以在下面下载完整js):
/*! jQuery v1.11.1 | 此处省略 */ /*PJAX封装代码 | 此处省略 */ /* 需要自己修改的代码 | 将#main改为你的主体容器id */ $(function() { $(document).pjax('a[target!=_blank]', '#main', {fragment:'#main', timeout:6000}); $(document).on('pjax:send', function() { $('#main').fadeTo(700,0.0); }); $(document).on('pjax:complete', function() { $('#main').fadeTo(700,1); }); });
当然,你也可以下载下来:
下载上面的js文件,然后丢到你的主题目录js文件夹,在底部引用即可。
其中pjax是早已封装好的。
参考地址:PJAX封装代码 https://github.com/defunkt/jquery-pjax/
当然,这仅仅是页面的pjax,你需要将它与你的评论ajax、进度条、灯箱、代码高亮等等涉及到js的代码相结合
参考地址:
Willin的ajax评论:http://kan.willin.org/typecho/typecho-ajax-comments.html
NProgress进度条插件:http://ricostacruz.com/nprogress/
目前本人的这个主站早已经是PJAX了,虽然用的不是上面的封装代码,但效果是一样的。妈妈再也不用担心浏览器前进后退的问题了。
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载但请务必注明出处,尊重他人劳动成果。
转载请注明出处链接 : https://www.inlojv.com/4256.html