如何在按OK后停止显示JavaScript警报

如果我的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.

另外,我将避免像您在原始文章中那样一成不变地编写代码.如果需要的话,这会使阅读和更改变得更加困难.

上一篇:react-native开发系列之Android原生交互


下一篇:美帝程序员薪资大曝光!2年经验google facebook员工真实薪资揭秘【2020年版】