Chrome扩展程序:内容脚本可在所有页面上运行,另一个仅在一个页面上运行

时间:2011-10-04 21:10:10

标签: google-chrome google-chrome-extension

我正在撰写需要执行以下操作的Chrome扩展程序:

  • 当弹出窗口
  • 时,将内容脚本注入当前(任意)页面
  • 将不同的内容脚本注入特定域的所有页面,始终

到目前为止,我已经实现了第一个,通过调用chrome.tabs.executeScript()文件中的popup.html并在清单中包含以下内容以允许脚本在任何页面上运行:

"permissions": [
  "tabs", "http://*/*"
],

现在,根据http://code.google.com/chrome/extensions/content_scripts.html,如果我希望内容脚本始终在特定页面上运行,我必须在清单中声明它并设置权限以仅包含代码应运行的页面。但是,这将打破第一部分。

我该如何解决这个问题?我能想到的唯一方法是始终调用某种“调用者”脚本然后自己检查和加载其他脚本,但这看起来非常混乱,我认为到是一个更好的方式。

1 个答案:

答案 0 :(得分:13)

{
  "content_scripts": [
    {
      "matches": ["http://www.google.com/*"],
      "js": ["myscript.js"]
    }
  ],
  "permissions": [
     "tabs", "http://*/*"
  ]
}

myscript.js会自动注入google.com,您仍然可以手动注入http://*/*