2

Disqus 会根据要求自动放置定义的字幕。例如:添加新评论

我尝试在 ready() 上使用 jquery 更改其值:

$('#dsq-new-post h3').text('Paticipa con tu cuenta favorita');

没有成功:( ...我怎么知道 disqus 脚本何时完成解析数据,以便我可以更改 h3 的标题值?

顺便说一句,这是 Disqus 的电话:

(function(){
var dsq = document.createElement('script');
dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://xxxxxxxx.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
4

2 回答 2

3

这是答案andufo。有用:

$(document).ready(function() {
  window.disqus_no_style = true;

  $.getScript('http://sitename.disqus.com/embed.js', function() {
    var loader = setInterval(function() {
      if($('#disqus_thread').html().length) {
        clearInterval(loader);
        disqusReady();
      }
    }, 1000);
  });

  function disqusReady() {
    //whatever you can imagine
  }
});

您可以注释掉 $.getscript 行并结束 }); 以及 window.disqus_no_style = true; 线。

我有一个类似的问题并发布了这个问题。Mohamed 试图回答我,但他的回答无效,但他在 github 上发布了他的代码链接,我在那里找到了正确的答案。

Chrome 扩展 iframe dom 参考 disqus

https://gist.github.com/471999

于 2011-06-21T05:58:29.387 回答
1

这个简单的解决方案也有效,虽然原始文本首先出现,然后被新文本替换,这不太理想。

function disqus_callback() {
  $('#dsq-reply h3').text('Add Your Answer');
}
于 2011-11-22T22:01:26.280 回答