前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pjax加载多说的三种方法

pjax加载多说的三种方法

作者头像
泽泽社长
发布2023-04-17 17:04:48
2510
发布2023-04-17 17:04:48
举报
文章被收录于专栏:泽泽社泽泽社

方法一

多说官方提供的方法:http://dev.duoshuo.com/docs/50b344447f32d30066000147 这里不进行说明,请进入上述链接进行查看。 效果说明:进入文章页需要点击按钮,多说评论才会加载出来。

方法二

民间高手不满足方法一那种需要按一次才能加载的方法,于是写了个不需要按按钮也能加载的方法。

在网站head处加入

代码语言:javascript
复制
<script>var duoshuoQuery = {short_name:"你的多说二级域名"};</script>
<script src="http://static.duoshuo.com/embed.js"></script>

在写个多说重载函数,在pjax完成后调用

代码语言:javascript
复制
<script>
$(document).on('pjax:complete', function() {
    pajx_loadDuodsuo();//pjax加载完成之后调用重载多说函数
});
function pajx_loadDuodsuo(){
    var dus=$(".ds-thread");
    if($(dus).length==1){
        var el = document.createElement('div');
        el.setAttribute('data-thread-key',$(dus).attr("data-thread-key"));//必选参数
        el.setAttribute('data-url',$(dus).attr("data-url"));
        DUOSHUO.EmbedThread(el);
        $(dus).html(el);
    }
}
</script>

上述中的$(document).on('pjax:complete', function() {});和你使用的pjax可能有所不同,但道理是通用的。

方法三

也就是我现在用的方法,这个方法需要模板加载jquery,在pjax重载函数中加入下述代码

代码语言:javascript
复制
if ($('.ds-thread').length > 0) { if (typeof DUOSHUO !== 'undefined') DUOSHUO.EmbedThread('.ds-thread');DUOSHUO.ThreadCount($('.ds-thread-count')); else $.getScript("//static.duoshuo.com/embed.js"); }

以上三种方法,孰优孰劣,请自行判断,以前我是用第二种方法的,后来发现了第三种方法,发现代码量少了不少(因为加载了jq),于是就用了第三种方法。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法一
  • 方法二
  • 方法三
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档