我正在尝试构建一个适用于两个网站的Chrome扩展程序,我们称之为website1.com和website2.com。根据我们所处的网站,我想包含一个不同的JS文件,它将存储所有逻辑(在这个例子中我称之为code-for-website-1.js(还有另一个JS for website2.com) )。
我遇到一个问题,弄清楚当我在website1.com上时我只能包含code-for-website-1.js和当我在代码上时代码为2.js网站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" });
}
有了这个我就得到错误:
未捕获的TypeError:无法调用未定义的方法'executeScript'
答案 0 :(得分: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"]
}
]