1

我想在 twitch.tv 上激活一些带有 chrome 扩展的脚本。

所以我得到了一个名为 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"
} 

script2 已加载,但 script3 未加载。难道我做错了什么?

编辑:

好吧,通过查看我提到的清单,清单是正确的。我添加了一个警报(“测试”);在我的脚本之上并触发警报,因此脚本正确执行。但:

我在网站上添加了一些新按钮。如果我将 script3.js 复制并粘贴到 twitch.com/directory 上的 chrome-console,将显示新按钮。但是如果脚本是由 chrome 执行的,那么按钮就不存在了。

为什么会这样,脚本似乎是正确的(因为如果我手动加载它可以工作)但是如果它自动加载它是错误的?

4

1 回答 1

2

颠倒两个规则,因为第一个总是匹配

{
  "js": [ "script3.js" ],
  "matches": [ "*://*.twitch.tv/directory" ]
},
{
  "js": [ "script2.js" ],
  "matches": [ "*://*.twitch.tv/" ]
 }]
于 2013-07-19T21:51:31.517 回答