利用多说插件获取单篇文章的评论数:
多说评论数调用 Js部份: <script type="text/javascript" src="js/jquery-1.8.3.js"></script> // 将jquery载入 <script type="text/javascript"> $(function(){ var uid = "aaa";//多说用户ID,也就是二级域名 var aid = "123456";//文章ID,唯一的文章标识。 var getstr = "http://api.duoshuo.com/threads/counts.jsonp?short_name="+uid+"&threads="+aid+"&callback=?"; $.getJSON(getstr, function(data) { var comval=''; $.each(data.response, function(i, item) { comval += item.comments; }); //alert(comval); $("#ccount").text(comval);//ccount是需要设置的论评数的html元素ID }); }); </script> html部份: <span id="ccount"></span>条评论
方法二:转载自神马值得玩http://www.smzdwan.com/news/797.html
先看看这个示例的html,首先我的方法是给要调用条数的位置设定一个类名,比如我用的count 然后再此处写入data-thread-key这个是要通过GET给多说的参数哦,别搞错了!然后再样式中设为隐藏。。 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script type="text/javascript" src="./Public/js/jquery-1.7.2.min.js"></script> 注意这里用来jquery <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style> .count{ display: none;定义成隐藏 } </style> </head> <body> <ul> <li><a href="javascript:void(0)" class="count">4ff160411318693231000006</a></li>这里放data-thread-key <li><a href="javascript:void(0)" class="count">4ff160411318693231000007</a></li>这些事官方文档里的key <li><a href="javascript:void(0)" class="count"></a>15254546215</li>你要换成自己的文章key哦。。。 <li><a href="javascript:void(0)" class="count"></a></li>如果是php模板输出个文章id的变量就欧了 <li><a href="javascript:void(0)" class="count"></a></li> </ul> </body> </html> 下面就是js代码了 $(document).ready(function() { loadDuoshuoConut("count", "official");传入设定的要变为条数的类名,传入二级域名 }); //类名,二级域名 function loadDuoshuoConut(classname,sld) { if (classname == "" || sld == "" || classname ==null || sld ==null )return; //选择类 var countObj = $("." + classname); if(countObj.length == 0)return; var Objkey = '';//这个是用来装载所有key拼接的字符串 var ObjMap = new Array();//这个是用来存放对应key键和值得数组,类似map的数据结构 countObj.each(function(i) { var key = $(this).text();//查找对象的text,然后作为键名 if(key!=''){ Objkey += key + ",";//如果text不为空字符串,也就是data-thread-key是存在,就加入查询的字符串中 } else key = 'error'+i;//为空也至少给个键名 } ObjMap[key] = new Object(); ObjMap[key].obj = $(this); ObjMap[key].count = 0; //初始化为0条数据 }); //好了使用getJSON查询把,因为是跨域访问,就只能用JSONP。 $.getJSON("http://api.duoshuo.com/threads/counts.jsonp?short_name=" + sld + "&threads=" + Objkey + "&callback=?", function(data) { var vv='';//调试用的变量无关紧要 //循环遍历,如果键名和返回的数据中的thread_key能对应就赋值条数 $.each(data.response, function(i, item) { if (ObjMap[item.thread_key] != "undefined" && ObjMap[item.thread_key] != null) { ObjMap[item.thread_key].count = item.comments; } vv += item.thread_key + "|" + item.comments + "<>"; }); //alert(vv); //遍历全部Map的数据,打印条数 for (i in ObjMap) { ObjMap[i].obj.text("(" + ObjMap[i].count + "条)");//注意哦,这里可以自己随意加字了,ObjMap[i].count是数字,其他的随意啦啦啦 } countObj.css("display", "inline-block");//原本是隐藏的,现在可以改为显示了 }); delete ObjMap; }