如何捕捉GMail自动刷新
我写了一个userscript突出显示GMail中的当前行(由箭头指示)。不幸的是,突出显示只会保留到GMail收件箱自动刷新,这经常发生。有没有办法抓住这个事件,所以我可以重新应用突出显示?我不想在超时时间完成。还有另一个脚本,它会加载CPU。如何捕捉GMail自动刷新
这听起来像你会想要审查this document which is documentation for the Gmail gmonkey API,这是一个谷歌提供的greasemonkey脚本的API。
This page describes a userscript which monitors view changes,这应该是非常类似于你所需要的。
我想你也需要这样的:而不是一个userscript
window.addEventListener('load', function() {
if (unsafeWindow.gmonkey) {
unsafeWindow.gmonkey.load('1.0', function(gmail) {
function changedViewType() {
// Threadlist
if(gmail.getActiveViewType()== "tl"){
// code to highlight the current row here...
}
}
gmail.registerViewChangeCallback(changedViewType);
changedViewType();
});
}
}, true);
我终于开始检查这个,它不起作用。该页面上的示例脚本,Gmail View Watcher也不例外。 – ultracrepidarian 2010-04-05 11:38:07
Gmail Greasemonkey API被放弃?请参阅http://code.google.com/p/gmail-greasemonkey/issues/detail?id=39 – ultracrepidarian 2010-04-06 17:50:53
如果添加一个计时器并查看突出显示元素何时消失?或者如果父对象更改其地址(使用===)。
是的,这就是我说我不想要做的 - 使用计时器。尝试一下,你会发现CPU使用率徘徊在50%以下。 – ultracrepidarian 2010-03-15 07:44:27
考虑CSS userstyle(http://userstyles.org/)。您可以使用Firefox的DOM检查器查看所选行中的HTMl元素和类,然后编写一个只选择该行的CSS选择器应该非常简单。
ryan,问题是如何捕捉事件。我选择一行没有问题。 – ultracrepidarian 2010-09-21 14:52:14
从今天开始,以下代码不能用于当前gmail用户界面,积分从gmail plugin取自https://cleverinsert.com/。每次收件箱刷新时都会触发回调。您必须在文档完全加载后创建MutationSummary。你可以在chrome中安装和调试他们的插件来检查它。
你必须包括mutation-summary.js
new MutationSummary({
callback: render,
rootNode: document.querySelector('.AO'),
observeOwnChanges: false,
oldPreviousSibling: true,
queries: [
{ element: 'td.xW' }
]});
function render(a) {
console.log("callback triggered");
}
有人建议在其他地方使用DOMNodeInserted,但我知道它只会火起来的时候有一个新的消息。 – ultracrepidarian 2010-03-14 01:08:42