假设我有两个内容脚本,codeA.js
和codeB.js
。我想知道是否可以在http://www.example.com上运行codeA.js
并在http://www.domain.com上运行codeB.js
。
是否可以将content_scripts
文件中的manifest.json
设置为:
"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!");
}
但我不断获得you are using google
。
答案 0 :(得分:3)
请注意,content_scripts
是数组:
"content_scripts": [
{
"matches": ["http://www.example.com/*"],
"js": ["codeA.js"]
},
{
"matches": ["http://www.domain.com/*"],
"js": ["codeB.js"]
}
]
答案 1 :(得分:-1)
创建一个脚本文件并检查域名如下所示
if(document.location == domain1){
// load script file for domain1
} else {
// load script for other domains
}
AFAIK您无法在manifest.json
文件中提及不同域的不同内容脚本文件。
根据您的方法编辑,该代码不起作用。您必须使用正则表达式检查它,而不只是==
,因为您的域中包含*
。并预先编写Web Accessible Resources脚本。