Javascript 是否可以在两个单独的页面上运行两个内容脚本?
假设我有两个内容脚本,Javascript 是否可以在两个单独的页面上运行两个内容脚本?,javascript,google-chrome,google-chrome-extension,content-script,Javascript,Google Chrome,Google Chrome Extension,Content Script,假设我有两个内容脚本,codeA.js和codeB.js。我想知道是否可以运行codeA.js并让codeB.js运行 是否可以将manifest.json文件中的content\u脚本设置为: "content_scripts": [ { "matches": ["http://www.example.com", "http:www.domain.com"], "js": ["codeA.js", "codeB.js"] } ] 然后让每个脚本
codeA.js
和codeB.js
。我想知道是否可以运行codeA.js
并让codeB.js
运行
是否可以将manifest.json
文件中的content\u脚本设置为:
"content_scripts": [
{
"matches": ["http://www.example.com", "http:www.domain.com"],
"js": ["codeA.js", "codeB.js"]
}
]
然后让每个脚本检查页面当前所在的URL?如果是的话,我将如何着手做这件事
更新:
我已尝试使用以下代码
if(document.location == "http://*.google.com/*" || "https://*.google.com/*") {
alert("you are using google");
} else if(document.location == "http://*.yahoo.com/*" || "https://*.yahoo.com") {
alert("you are using yahoo!");
}
但是我一直得到你正在使用谷歌制作一个脚本文件,并检查域名,如下所示
if(document.location == domain1){
// load script file for domain1
} else {
// load script for other domains
}
AFAIK您不能在manifest.json
文件中提及不同域的不同内容脚本文件
根据方法的编辑,该代码不起作用。您必须使用正则表达式检查它,而不仅仅是=
,因为您的域包含介于两者之间的*
。并在手边编写Web可访问资源的脚本。请注意,内容\u脚本
是一个数组:
嗨,谢谢你的快速回答。不幸的是,我尝试了您的代码,但它似乎不起作用(请参阅更新的问题)。知道哪里出了问题吗?@Kootling脚本文件必须在可访问的Web资源中提及,然后才能加载。你做到了吗?检查此项事实上,该页面声明:内容脚本本身不需要被列入白名单。
因此我不认为将内容脚本列入白名单是一个问题。@Kootling Ok,但您是否已将正则表达式放入匹配域?检查此项以匹配域,您的代码不起作用。相关:。来自清单版本2?谢谢,这很有效。我没有意识到内容脚本是一个数组。我希望他们在content\u脚本
文档中明确这一点。
"content_scripts": [
{
"matches": ["http://www.example.com/*"],
"js": ["codeA.js"]
},
{
"matches": ["http://www.domain.com/*"],
"js": ["codeB.js"]
}
]