Chrome扩展程序:让它在每个页面加载时运行

时间:2011-06-27 18:56:37

标签: javascript google-chrome google-chrome-extension

我想制作一个chrome扩展程序,在加载一个页面后执行一些脚本,我不确定是否必须在后台页面上实现此逻辑,或者它可以在其他任何地方,这里的任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:67)

background script您可以收听chrome.tabs.onUpdated事件并检查回调中的属性changeInfo.status。它可以加载完成。如果完成,请执行操作。

示例:

chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) {
  if (changeInfo.status == 'complete') {

    // do your things

  }
})

因为这可能会在每个标签页完成时触发,您还可以检查标签active上的标签是chrome.tabs.onUpdated.addListener( function (tabId, changeInfo, tab) { if (changeInfo.status == 'complete' && tab.active) { // do your things } }) ,如下所示:

{{1}}

答案 1 :(得分:46)

如果需要在页面的onload事件上运行,意味着文档及其所有资产已加载,则需要在每个页面中嵌入content script,以便您希望跟踪onload

答案 2 :(得分:38)

您可以将脚本放入内容脚本中,参见

答案 3 :(得分:1)

此代码应执行以下操作:

manifest.json

   {
      "name": "Alert 'hello world!' on page opening",
      "version": "1.0",
      "manifest_version": 2,
      "content_scripts": [
        {
          "matches": [
            "<all_urls>"
          ],
          "js": ["content.js"]
        }
      ]
    }

content.js

alert('Hello world!')