内容脚本不支持 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 完全替换其中的一些(好吧,至少是历史页面)。