之前在制作gplus主题的时候,使用到了ajax+history.pushState,并且把这个功能封装成了pjax,由于当时使用的JS框架是jquery,所以pjax是基于jquery写的。
最近决定写一个基于qwrap的pjax,之前一直没时间弄,昨天终于给弄好了。由于qwrap支持retouch,所以使用上和jquery区别不是很大,拿之前的代码稍微改改就可以了。
源代码地址:https://github.com/welefen/pjax
由于pjax里使用了ajax组件,qwrap核心库里是不包含ajax组件,所以需要将ajax打包进来。ajax组件可以使用https://github.com/welefen/qwrap/tree/master/resource/js/wagang/ajax,或者你也可以直接引用这个JS http://www.welefen.com/wp-content/themes/gplus/js/qwrap.js。
由于qwrap里不支持live模式和核心包里没有动画组件,所以pjax for qwrap版本默认不支持动画,并且使用方式和jquery版本稍微有些差别,具体如下:
QW.pjax(selector, { //selector一般为a[href="^http://domain"]
filter: function(){}, //filter函数,将不符合条件的a过滤掉
container: '#container',
cache: true,
storage: true
})
其他使用方式(包括服务端判断方式)都和jquery版本的一样
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8