内容脚本不支持 chrome 设置页面 (url : chrome://history/ etc.)
Content script doesn't support chrome settings page (url : chrome://history/ etc. )
我正在使用 chrome 扩展程序。我想在所有选项卡中注入 js 脚本。我正在使用这个 manifest.json :
{
"name": "ABC",
"version": "0.0.1",
"manifest_version": 2,
"background": {
"scripts": [
"src/background/background.min.js"
],
"persistent": true
},
"browser_action": {
"default_icon": "icons/128.png",
"default_title": "ABC",
"default_popup": "src/browser_action/index.html"
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*",
"<all_urls>"
],
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["./src/inject/inject.min.js"],
"css": ["./css/inject.min.css"],
"all_frames": true
}]
}
而我的inject.js是这样的:
(function() {
console.log("Hello");
});
我正在从除 chrome 设置选项卡之外的所有选项卡获取所有日志(例如:chrome://extensions/:id , chrome://history 等).
我是否遗漏了 manifest.json 中的某些内容或 chrome 禁用了设置页面中的注入功能?
提前致谢。
确实,您不能将代码注入 chrome://
页面。它们包含可以以不允许扩展程序的方式修改浏览器的控制元素/代码。
Chrome通过简单的not allowing permissions to be set for chrome://
URLs来解决这个问题,<all_urls>
不包括它。
但是,您可以使用 Override Pages 完全替换其中的一些(好吧,至少是历史页面)。
我正在使用 chrome 扩展程序。我想在所有选项卡中注入 js 脚本。我正在使用这个 manifest.json :
{
"name": "ABC",
"version": "0.0.1",
"manifest_version": 2,
"background": {
"scripts": [
"src/background/background.min.js"
],
"persistent": true
},
"browser_action": {
"default_icon": "icons/128.png",
"default_title": "ABC",
"default_popup": "src/browser_action/index.html"
},
"permissions": [
"tabs",
"http://*/*",
"https://*/*",
"<all_urls>"
],
"content_scripts": [{
"matches": ["<all_urls>"],
"js": ["./src/inject/inject.min.js"],
"css": ["./css/inject.min.css"],
"all_frames": true
}]
}
而我的inject.js是这样的:
(function() {
console.log("Hello");
});
我正在从除 chrome 设置选项卡之外的所有选项卡获取所有日志(例如:chrome://extensions/:id , chrome://history 等). 我是否遗漏了 manifest.json 中的某些内容或 chrome 禁用了设置页面中的注入功能?
提前致谢。
确实,您不能将代码注入 chrome://
页面。它们包含可以以不允许扩展程序的方式修改浏览器的控制元素/代码。
Chrome通过简单的not allowing permissions to be set for chrome://
URLs来解决这个问题,<all_urls>
不包括它。
但是,您可以使用 Override Pages 完全替换其中的一些(好吧,至少是历史页面)。