0

我正在尝试构建一个适用于两个网站的 Chrome 扩展程序,我们将它们称为 website1.com 和 website2.com。根据我们所在的网站,我想包含一个不同的 JS 文件来存储所有逻辑(在这个例子中,我称之为 code-for-website-1.js(website2.com 也会有另一个 JS )。

当我在 website1.com 和 code-for-website-2.js 上时,我无法弄清楚如何只包含 code-for-website-1.js 和 code-for-website-2 .js。

这是我的清单:

{
  "name": "My Chrome Extension",
  "version": "1.0",
  "description": "Extension description",
  "manifest_version": 2,
  "permissions": ["tabs", "http://www.website1.com", "http://www.website2.com"],
  "content_scripts": [
    {
      "matches": ["http://www.website1.com"],
      "js": ["jquery.js", "code-for-website-1.js"]
    }
  ]
}

我尝试使用一个将使用以下命令的 controller.js:

if (onWebsite1 == true){
chrome.tabs.executeScript(null, { file: "code-for-website-1.js" });
} else {
chrome.tabs.executeScript(null, { file: "code-for-website-2.js" });
}

有了这个,我得到了错误:

未捕获的类型错误:无法调用未定义的方法“executeScript”

4

1 回答 1

2

根据文档在清单中,您可以将多个对象添加到 content_script数组中

例子

"content_scripts": [
   {
      "matches": ["http://www.website1.com/*"],
      "js": ["script_for_website1.js"]
   },
   {
      "matches":["http://www.website2.com/*"],
      "js":["script_for_website2.js"]
   }
]
于 2013-04-30T13:06:47.057 回答