排行榜 统计
  • 文章总数:19 篇
  • 评论总数:5 条
  • 分类总数:6 个
  • 最后更新:1月12日
推荐网络教程

给网站添加Pjax无刷新,换页音乐不中断

本文阅读 3 分钟
首页 网络教程 正文

自从博客加了悬浮音乐播放器后就一直在折腾换页音乐不中断的功能


在网上查找后发现想要实现换页音乐不中断的功能必须要为博客加pjax,于是又苦苦寻找并尝试了一番


最后发现网上实现pjax功能基本上是两种方法。

方法一

第一种方法是来自大佬友人C++的博客。

<script src="//cdn.bootcss.com/jquery/3.1.1/jquery.min.js"></script>
<script src="//cdn.bootcss.com/jquery.pjax/1.9.6/jquery.pjax.min.js"></script>
<script>
$(document).pjax('a[href^="<?php Helper::options()->siteUrl()?>"]:not(a[target="_blank"], a[no-pjax])', {
    container: '#pjax-container',
    fragment: '#pjax-container',
    timeout: 8000
})
</script>

将以上代码放入页脚文件foot.php或者footer.php文件的最下面。


解释一下上面代码:siteUrl()?>是typecho的自带函数,调用本站的首页地址!也就是只对本站的,并且没有_blank属性的,标签里不含no-pjax的链接实行pjax!局部刷新的区域是#pjax-container的部分!

其中#pjax-container是你的局部刷新部分,你可能没有这个div,你自己在添加一个


包裹住你想局部刷新的部分就行了!


方法二

第二种方法是来自大佬保罗的小宇宙的博客。

<script src="https://cdn.jsdelivr.net/npm/pjax/pjax.js"></script>
<script>
var pjax = new Pjax({
  elements: "a",
  // 在页面进行 PJAX 时需要被替换的元素或容器,一条一个 C++SS 选择器,数组形式
  selectors: [
    "title",
    "meta[name=description]", // 如果是全部 meta 替换的话,只需要写 meta
    "main"
  ],
  cacheBust: false
})
</script>

和第一种方法一样,将以上代码放入页脚文件foot.php或者footer.php文件的最下面。


局部刷新的区域是main的部分!

其中main是你的局部刷新部分,你可能没有这个div,你自己在添加一个


包裹住你想局部刷新的部分就行了!


测试(joe主题)

两种方法我这边都测试过了,最终第二种方法是成功的,然后由于我主题的特殊性,在成功之后出现跳转页面后出现内容显示不完全的BUG,解决的方法是把index.php文件和post.php文件中主体部分所有引用页面的部分全部都放在放在各自的页面里面。

如index.php中引用的

<!-- 列表 -->
<?php $this->need('component/index.list.php'); ?>

就把component/index.list.php文件里的所有代码全部复制到index.php文件的下面即可。


由于joe主题引用的文件实在是太多,其实是懒得弄所以就此搁置!有兴趣的话自己可以尝试下。

本文来自投稿,不代表本站立场,如若转载,请注明出处:
-- 展开阅读全文 --
PHP随机静态页面生成系统源码 雨尘SEO系统v1.3
« 上一篇 01-08
原生js,实现bilibili幻灯片切换效果
下一篇 » 01-09

发表评论

发表评论

作者信息

动态快讯

    请配置好页面缩略名选项

热门文章

最多点赞

标签TAG

热评文章

App Icon
| App内打开