资讯专栏INFORMATION COLUMN

获取多说和 Disqus 文章评论数的方法

simon_chen / 2512人阅读

摘要:不少网站使用的是多说等第三方评论系统,有时候需要在特定位置显示对应文章的评论数,下面的方法可以快速获取多说和的文章评论数,所得为纯数字,方便排版布局。

不少网站使用的是多说等第三方评论系统,有时候需要在特定位置显示对应文章的评论数,下面的方法可以快速获取多说和 Disqus 的文章评论数,所得为纯数字,方便排版布局。

多说

多说提供了获取文章评论数的接口,需要做的只是填好相关参数,然后再从返回的 JSON 数据中提取出评论数即可

请求参数

short_name: 站点注册的多说二级域名,比如注册了 http://helloworld.duoshuo.com/, 则对应二级域名为 helloworld;

threads: 文章的 thread-key, 与评论框中 data-thread-key 一致。

返回数据示例
{
    "response": {
        "about/index.html": {
            "thread_id": "6205475504969401090",
            "channel_key": null,
            "thread_key": "about/index.html",
            "reposts": 0,
            "views": 0,
            "likes": 8,
            "dislikes": 0,
            "comments": 187
        }
    },
    "options": {
        "comments_zero": "暂无评论",
        "comments_one": "1条评论",
        "comments_multiple": "{num}条评论"
    },
    "code": 0
}
数据提取

需要的只是评论数 comments,这里使用 jQuery 的 getJSON 比较方便

$(function() {
    var shortName = "moxfive";
    var threads = "about/index.html";

    var jsonUrl = "http://api.duoshuo.com/threads/counts.jsonp?short_name=" + shortName + "&threads=" + threads +  "&callback=?";
    $.getJSON(jsonUrl, function(result) {
        $.each(result.response, function(i, field) {
            var value = field.comments;
            $(".duoshuo-count").text(value);
        })
    })
})

获得的值会显示在匹配的区域中

Disqus 加载相关 JS

域名中填入自己的 Disqus shortname,获取方式参考 官方文档




显示评论数

这里介绍两种借助特定 Class 显示评论数的方法






identifierurl 的值如果不清楚,可以自行设置,方法参考 官方文档

获取的评论数不正确,很可能是因为远程数据没更新,等等就好。

提取纯数字

上面方法显示的评论数是类似 1 Comment 这样的格式,这里可以把它转为纯数字格式 1

使用 jQuery 绑定事件,当评论数信息显示时去掉非数字字符即可

var $disqusCount = $(".disqus-comment-count");
$disqusCount.bind("DOMNodeInserted", function(e) {
  var num = $(this).text().replace(/[^0-9]/ig,"");
  $(this).text(num)
})
相关链接

多说官方文档: 获取文章评论、转发数

多说官方文档: 代码显示【文章评论数】方法

Disqus Help: Adding comment count links to your home page

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79729.html

相关文章

  • 为你的博客添加访问量统计

    摘要:所以我已经将服务迁移至上,有兴趣的同学请移步最新的一篇博文博客访问量统计工具查看最新版本的使用方法。但是针对博客的访问量统计,却没有什么可用的工具。 本文最初发布于我的个人博客:咀嚼之味 2016.04.23 通告: Hit Kounter 原本部署于 SAE 上,而近期 SAE 针对使用 MySQL 的应用开始收费。本项目只是一个本人使用业余时间开发的小工具;它本身包含的功能也很精...

    gekylin 评论0 收藏0
  • 为你的博客添加访问量统计

    摘要:所以我已经将服务迁移至上,有兴趣的同学请移步最新的一篇博文博客访问量统计工具查看最新版本的使用方法。但是针对博客的访问量统计,却没有什么可用的工具。 本文最初发布于我的个人博客:咀嚼之味 2016.04.23 通告: Hit Kounter 原本部署于 SAE 上,而近期 SAE 针对使用 MySQL 的应用开始收费。本项目只是一个本人使用业余时间开发的小工具;它本身包含的功能也很精...

    ivan_qhz 评论0 收藏0
  • DisqusJS - 一个超轻量级的 DISQUS评论基础模式」的实现

    摘要:使用渲染评论列表,搭配的反代可以实现在网络审查地区加载评论列表支持自动检测访客的可用性自动选择加载原生评论完整模式和提供的评论基础模式。简介最早看到屈哥的上看到了屈哥用开发的评论基础模式供无法访问的访客查看评论和发表评论。 https://github.com/SukkaW/Dis... 使用 Disqus API 渲染评论列表,搭配 Disqus API 的反代可以实现在网络审查地区...

    layman 评论0 收藏0
  • 打造一个“精致的”个人博客

    摘要:百度统计先注册个百度统计的账号站长账号,适合个人博客,注册成功后按照提示,把代码复制到中的的标签里这里特指我的博客文件好了,这样你的博客就差不多了,是不是感觉很酷今天就到这儿,下篇文章见。 我为什么要写博客?其实我最初打算写博客,原因很简单,我就是想把工作中、学习中遇到 的问题及解决方案记录下来,它能帮你梳理下整个过程的要注意的地方,写写你在工作中遇到的问题,用来记录和回顾。Tips:...

    用户83 评论0 收藏0

发表评论

0条评论

simon_chen

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<