我正在尝试使用一个简单的 Chrome 扩展程序,但是在为 matches
中的 content_scripts
数组提供值时遇到了问题。
{
"name": "My Extension",
"version": "1.0",
"description": "My Extension Experiment",
"browser_action": {
"default_icon": "icon.png",
"default_title": "Ext",
"default_popup": "popup.html"
},
"content_scripts": {
"matches": ["http://*"],
"js": ["scripts.js"]
}
}
当我尝试将此扩展程序加载到 Chrome 时,我收到以下消息:
不过,我看不出我的值(value)有什么“无效”。我想要做的是匹配每个 URL,因此我的扩展程序可以操作它运行的任何页面的 DOM(通过
scripts.js
内的 javascript)。我错过了什么,这一切都错了,还是什么?更新
发布此问题后,我确实注意到 Google 示例与我的略有不同,因此我稍微修改了我的代码以反射(reflect)它们的语法:
"content_scripts": [{
"matches": ["http://*"],
"js": ["scripts.js"]
}]
话虽如此,在尝试加载我的扩展程序时,我仍然收到以下错误:
最佳答案
您需要将 content_scripts
字段的值括在方括号中:
"content_scripts": [ {
"matches": ["http://*"],
"js": ["scripts.js"]
} ]
(有关更多信息,请参阅 Chrome Docs)
顺便说一句,使用
http://*/*
将更好地匹配所有网址(请参阅 docs ),如果您还需要匹配这些网址,则添加 https://*/*
。编辑:
在您编辑之后,您得到的错误是因为匹配模式不正确。
关于json - Chrome 扩展 list 'Matches',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2769525/