javascript - 按确定后如何停止显示javascript警报

标签 javascript facebook greasemonkey alert

如果我的 Facebook 收件箱中有内容,我想显示提醒。我认为使用用户脚本可以轻松完成...这就是我目前所拥有的(感谢 userscripts 论坛上的人):

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

这很好用,除了消息在单击“确定”后陷入循环并不断弹出。单击关闭警报后是否有办法停止消息?

最佳答案

添加一个变量来跟踪上次警报有多少消息,如果该变量未更改则不显示。

类似于:

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.

此外,我会避免像您在原始帖子中那样编写所有代码。如果需要,它会增加阅读和更改的难度。

关于javascript - 按确定后如何停止显示javascript警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/804454/

相关文章:

javascript - 如何在用户脚本中处理多个 AJAX 结果?

python - 使用图形 API 编写代码

javascript - Aster Plot 图例标签以及弧线

javascript - 使用 AJAX 将变量从动态 html 表传递到 php 更新查询

javascript - 如何让JS在JS生成的帖子中工作?

ios - 使用Facebook SDK的iOS应用程序,应在iTunes Connect IDFA上选择哪些选项?

javascript - 自定义广告服务器 Facebook Instant Articles

javascript - 仅在没有其他监听器存在时才添加 Javascript EventListener?

jquery - 如何根据内部 SPAN 内部的文本删除整个 DIV

javascript - 隐藏图像后显示图像