前言
在测试的时候,如果不生效的话,可以用浏览器的无痕窗口,或者清除浏览器缓存。
配置
在服务器中新建pjax.js文件,用于操作 PJAX 组件。内容暂时留空。
打开网站的footer.php文件, 在文件底部的前面添加下面代码:
<script src="https://cdn.jsdelivr.net/npm/pjax/pjax.js"></script>
<script src="https://tuziang.com/usr/themes/Fantasy/static/pjax.js"></script>
其中第二行是我创建的,需要替换成你自己的路径。
现在开始填写刚才新建的pjax.js文件:
var pjax = new Pjax({
// 在页面进行 PJAX 时需要被替换的元素或容器,一条一个 CSS 选择器,数组形式
selectors: [
"title",
"meta[name=description]",
"main"
],
cacheBust: false
})
selectors中是每次刷新都要改变的元素。
具体问题具体分析,每个模板不一样,你的模板未必有上面的main标签。所以需要你有点html基础
动画
动画一
使用nprogress的加载动画: NProgress: slim progress bars in JavaScript
同样在footer.php底部添加两行代码:
<script src="https://unpkg.com/[email protected]/nprogress.js"></script>
<link href="https://unpkg.com/[email protected]/nprogress.css" rel="stylesheet" type="text/css">
接着修改刚才我们自己新建的pjax.js文件,在文件底部添加下面两个函数
document.addEventListener('pjax:send', function (){
NProgress.start();
});
document.addEventListener('pjax:complete', function (){
NProgress.done(); ;
});
动画二
这个动画来自于利用Pjax实现网页无刷新加载的详细方法
在header.php文件中的