我正在学习 Chrome 扩展并制作一些 hello world 应用程序。我正在这里处理内容脚本。
首先,我的应用程序非常简单,它只是一个加载内容脚本的清单。
这是清单
{
"name": "turn all th into TH",
"version": "1.0",
"permissions": [
"http://*/*"
],
"manifest_version": 2,
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["contentScriptFirstApp.js"]
}
]
}
并且内容脚本只是一行
警报('你好');
现在我运行它,每次加载页面时都会显示警报框。
然而,奇怪的是,虽然代码正在运行,但我在开发者工具中找不到 ContentScript。
只有当我对我的清单进行轻微调整时,更改 match 参数,而不是 allow ,它只与 http 文件匹配,如下所示,我可以在开发人员工具中看到内容脚本。
{
"name": "turn all th into TH",
"version": "1.0",
"permissions": [
"http://*/*"
],
"manifest_version": 2,
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["contentScriptFirstApp.js"]
}
]
}
只是好奇这是为什么。在这两种情况下,代码都在运行并显示警告框,但为什么只有当内容脚本页面将“matches”参数设置为 http 页面时,它才会开始显示在开发人员工具中?