2

ページに追加されたdisqusコメントを監視し、新しいコメントが追加されるたびに通知コールバックを起動する小さなスクリプトを作成したいと思います。

私にとって最も簡単な方法は、#dsq-comments divのコンテンツを定期的に監視し、HTMLコンテンツが変更されるたびにコールバックをトリガーすることです。

これは機能しますが、もっとクリーンな方法があるかどうか疑問に思っています。


編集: @Pekkaによって提案されたように、私は自分のページにonNewCommentコールバックを実装し、それは美しく機能します。これは、Disqusを自分のサイトに統合することに関する私の主要な懸念事項の1つであり、今では実行可能なソリューションがあります。

function disqus_config() {
  this.callbacks.onNewComment = [function() {
       $.get("/notifications/newcomment?...", function(data) {
       });
  }];
}
4

2 に答える 2

4

onNewCommentコールバックがあるようです。自分の分析ツールでDisqusのコメントアクティビティをキャプチャするにはどうすればよいですか?を参照してください。

このブログ投稿は、それを文書化するのに役立ちます。

于 2011-04-25T06:41:16.393 に答える
1

Disqusのコメントアクティビティは、以下を使用してコールバックを介してキャプチャできます。

function disqus_config() {
  this.callbacks.onNewComment = [function() { trackComment(); }];
}

trackComment();を置き換える場所 あなた自身の機能によって。

これは、JavaScriptを使用してDisqusコメントを動的にロードする例です。ここでは、新しいコメントが追加されたときに起動されるdiscus_config関数を見つけることができます。

var loadDisqus = function() {
  window.disqus_identifier = 'your thread id';
  window.disqus_shortname = 'disqus_shortname';
  window.disqus_url = 'http://your_domain.com/path';
  window.disqus_title ='page title';
  window.disqus_config = function() {
    this.callbacks.onNewComment = [function() { myFunction() }];
  };

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

};
于 2013-11-13T17:00:07.613 に答える