3

Facebook の受信トレイに何かがある場合にアラートを表示したいと考えています。ユーザースクリプトを使用して簡単に実現できると思います...これは私がこれまでに持っているものです(ユーザースクリプトフォーラムの人たちに感謝します):

document.addEventListener("DOMNodeInserted", function() {
  var count;
  if ((count=parseInt(document.getElementById("fb_menu_inbox_unread_count").textContent)) > 0)
  alert("You have "+count+" new message"+(count==1 ? "" : "s")+".");
}, true);

これはうまく機能しますが、[OK] をクリックした後にメッセージがループしてスタックし、ポップアップし続けます。アラートを閉じるをクリックした後、メッセージを停止する方法はありますか?

4

2 に答える 2

3

最後のアラートがあったメッセージの数を追跡する変数を追加し、その変数が変更されていない場合は表示されません。

何かのようなもの:

document.addEventListener(
  "DOMNodeInserted", 
  function() { 
    var count = parseInt(document.getElementById("fb_menu_inbox_unread_count").textContent);
    if (count > 0 && count != lastCount) {
      alert("You have "+count+" new message"+(count==1 ? "" : "s")+"."); }, true);
    }
    lastCount = count;  // Remember count to avoid continuous alerts.

また、元の投稿で行ったように、コードをまとめて書くことは避けます。必要に応じて読み取りや変更が難しくなります。

于 2009-04-29T21:59:41.610 に答える
0

document.cookie を使用してカスタム Cookie を設定してカウントを保存し、定期的なチェックを行います。

于 2009-04-29T22:18:38.523 に答える