WEIC`S BLOG

instantclick.js加载其他JavaScript和多说评论

使用经验

用了Pjax点击链接后默认是不加载其他JavaScript的,也包括多说评论;
这里说的是instantclick.js的方法
首先使用将你自己写的JavaScript封装在一个函数里;如下

如果以前是下面这种写法

window.onload = function(){
    var one = document.getElementById("haha");
    one.onlick = function(){
         alert("hello pjax");
    }
}

那么你就需要使用一个函数来替代window.onload,如下

function otherFunction(){
    var one = document.getElementById("haha");
    one.onlick = function(){
         alert("hello pjax");
    }
}

封装好后再打开你网站模板的footer.php(这里用Typecho博客为例)
在最后面,也就是前加上下面内容,最好是放在其他js的最后;

<script data-no-instant>
InstantClick.on('change', function() {
    // 下面这个是你封装的函数,函数名可以自定义;
otherFunction();
    // 这段是多说评论的;
if ($('.ds-thread').length > 0) {
       if (typeof DUOSHUO !== 'undefined') DUOSHUO.EmbedThread('.ds-thread');
       else $.getScript("http://dl.weic96.cn/duoshuo_embed.js"); }
    // 下面再补个多说分享功能的;
    DUOSHUO.initSelector('.ds-share',{type:'ShareWidget'});
});
InstantClick.init();
</script>

注意:这个方法需要jquery!代码里的http://dl.weic96.cn/duoshuo_embed.js你也可以吧这个js下载下来使用自己的;

加载评论
打赏本文
二维码