以下代码用于获取多个页面的Disqus评论数。
var DISQUSWIDGETS;
if (typeof DISQUSWIDGETS != 'undefined') {
DISQUSWIDGETS.displayCount({
"showReactions":true,
"text":{
"and":"and",
"reactions":{
"zero":"0 Reactions",
"multiple":"{num} Reactions",
"one":"1 Reaction"},
"comments":{
"zero":"0 Comments",
"multiple":"{num} Comments",
"one":"1 Comment"
}
},
"counts":[
{"reactions":0,"uid":1,"comments":2},
{"reactions":0,"uid":2,"comments":5},
{"reactions":0,"uid":3,"comments":9}
]
});
}
我想从这里获取评论示例的数量:
{"reactions":0,"uid":1,"comments":2}
评论数应为2。是否有将仅获得注释的javascript代码?
最佳答案
如果您可以这样重写:
var DISQUSWIDGETS;
if (typeof DISQUSWIDGETS != 'undefined') {
var disqus_options = {
"showReactions":true,
"text":{
"and":"and",
"reactions":{
"zero":"0 Reactions",
"multiple":"{num} Reactions",
"one":"1 Reaction"},
"comments":{
"zero":"0 Comments",
"multiple":"{num} Comments",
"one":"1 Comment"
}
},
"counts":[
{"reactions":0,"uid":1,"comments":2},
{"reactions":0,"uid":2,"comments":5},
{"reactions":0,"uid":3,"comments":9}
]
};
DISQUSWIDGETS.displayCount(disqus_options);
}
然后,您将可以像这样访问计数:
disqus_options.counts[0].comments
在这种情况下,其值为
2
。编辑
要按
id
过滤,在这种情况下为id == 3
。var counts_with_id = $.grep(disqus_options.counts, function(count) {
return (count.uid == 3);
});
if (counts_with_id.length) // the id exists
counts_with_id[0].comments // has value 9
else
the id does not exist in the disqus_options.
编辑
您可以“破解” displayCount方法:
// Load the disqus plugin which contains the DISQUSWIDGETS.displayCount method.
// Change what DISQUSWIDGETS.displayCount does.
var actualDisplayCount = DISQUSWIDGETS.displayCount;
DISQUSWIDGETS.displayCount = function(options) {
// do things with options
return actualDisplayCount(options);
};
// Now load the source from http://forum.disqus.com/count-data.js?q=1&1=2,http://www.website.com&2=2
关于php - 多个页面的Disqus评论数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17393435/