如何在chrome扩展中执行脚本?什么时候改变内容?

时间:2012-06-11 23:37:47

标签: google-chrome google-chrome-extension

当网页内容更新时(例如Facebook),我想执行chrome脚本

那么我应该用什么方法呢?

3 个答案:

答案 0 :(得分:0)

您可以使用

$("body").bind("DOMSubtreeModified", function() {
    alert("something changed");
});

注意:DOMSubtreeModifieddeprecated

答案 1 :(得分:0)

你应该尝试使用chrome。* API:

chrome.tabs.onUpdated.addListener(
    function(integer tabId, object changeInfo, Tab tab) {
     //your code
});

请参阅此处获取文档:

http://code.google.com/chrome/extensions/tabs.html#event-onUpdated

它应该适用于(AJAX)请求等更新......

答案 2 :(得分:0)

sachleen所述,您可以使用DOMSubtreeModified侦听器

document.addEventListener("DOMSubtreeModified", methodToRun);

请注意,Mutation Events是性能值很高的,不能很好地驯服(它们经常发生火灾并且会使页面变慢)。因此,它们已在一年前被弃用,只应在真正需要时使用。但是,他们工作。

如果您想要Chrome扩展程序,可以使用DOM Level 4中新的闪亮Mutation Observers(按照其中的链接,他们会解释很多!)。如果DOMSubtreeModified被解雇了一千次,MutationObserver只会触发一次所有修改并且可以访问。

适用于(截至2012/06):

  • Chrome 18+(前缀window.WebKitMutationObserver
  • Firefox 14+(没有前缀)
  • WebKit nightlies