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