我想在twitch.tv上使用chrome扩展名激活一些Scripts。
所以我得到了一个名为script2.js的文件和一个名为script3.js的文件
在我的清单中,我想说www.twitch.tv已加载script2.js必须加载,如果加载了www.twitch.tv/directory,则必须加载script3.js:
{
"content_scripts": [{
"js": [ "script2.js" ],
"matches": [ "*://*.twitch.tv/" ]
}, {
"js": [ "script3.js" ],
"matches": [ "*://*.twitch.tv/directory" ]
} ],
"description": "desc",
"manifest_version": 2,
"name": "TwitchTV",
"permissions": [ "*://*.twitch.tv/*" ],
"version": "1.0"
}
脚本2已加载,但脚本3未加载。我做错了吗?
编辑:
通过查看我提到的清单,清单是正确的。 我添加了警报(“测试”);在我的脚本之上并触发警报,因此脚本正确执行。但是:
我在网站上添加了一些新的按钮。如果我将我的script3.js复制并粘贴到twitch.com/directory上的chrome-console,则会显示新按钮。但是如果脚本是由chrome执行的,则按钮不在那里。
为什么会这样,脚本似乎是正确的(因为如果我手动加载它可以工作)但是如果它自动加载它的错误?
答案 0 :(得分:2)
反转这两条规则,因为第一条规则总是匹配
{
"js": [ "script3.js" ],
"matches": [ "*://*.twitch.tv/directory" ]
},
{
"js": [ "script2.js" ],
"matches": [ "*://*.twitch.tv/" ]
}]