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);

这很好用,除了单击“确定”后消息卡在一个循环中,并不断弹出。单击关闭警报后,有没有办法停止消息?

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 回答