如何捕获定期刷新gmail收件箱的Ajax事件

Ben*_*lls 5 javascript gmail greasemonkey

我正在尝试编写一个适用于Gmail的Greasemonkey脚本.我知道如何创建响应用户点击收件箱链接或刷新链接的javascript.我的问题是Gmail会定期刷新收件箱中的新会话,我无法捕获此事件.有没有办法在javascript中捕获周期性的Ajax事件?

Ben*_*lls 1

我尝试了 Miles 上面的出色建议,但不幸的是它不起作用,因为在我有机会在 Greasemonkey 脚本中更改它之前,Gmail 已经调用了原始的 setTimeout 函数。

我唯一能做的就是以某种方式对 Gmail 定期刷新收件箱时所做的更改做出反应。我发现添加或删除节点时会触发几个 DOM 相关事件:

http://www.w3.org/TR/DOM-Level-3-Events/events.html#event-DOMNodeInserted

由于 Gmail 正在使用我最新的电子邮件更新 DOM,因此我可以侦听这些 DOM 事件(我正在使用 DOMNodeInserted)并对更改做出反应。

它并不优雅,但很有效。