转载,给博客添加图片灯箱,FancyBox+Pjax踩坑记

转载,给博客添加图片灯箱,FancyBox+Pjax踩坑记

FancyBox灯箱能够正常被激活并使用。但是,当关闭FancyBox灯箱时,页面会重载一次。

这个问题困扰了我一段时间,百思不得其解......

最终,我在Hexo的issue中找到了一个跟我有相同遭遇的人,链接在此:

With PJAX, the page will refresh once after closing the image's fancybox window

Hexo项目中使用的Pjax正是我使用的MoOx/pjax,阅读上述issue,查看Hexo作者的在Github的commit后,我知道了症结所在:需要关闭FancyBox的hash模式,以止地址栏变化。因为Pjax插件检测到地址栏变化后,误以为加载了不同的页面,于是对整个页面进行重载。Hexo的commit地址在此。

最终的解决方案:在页脚加入JS代码如下:

<script type="text/javascript">
    $(document).ready(function () {
      $.fancybox.defaults.hash = false;
    });
</script>

原文链接:
https://blog.xmgspace.me/archives/fancybox-pjax.html

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注