内容脚本不支持Chrome设置页面(网址:chrome:// history / etc.)

时间:2016-03-24 07:06:53

标签: javascript google-chrome google-chrome-extension content-script

我正在使用Chrome扩展程序。我想在所有选项卡中注入js脚本。我正在使用这个manifest.json:

$f = "10.00";
echo (int)$f; //gives 10

我的inject.js是这样的:

{
    "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
    }]
}

我从所有标签中获取所有日志,但Chrome设置的标签除外(例如:chrome:// extensions /:id,chrome:// history等)。 我在manifest.json或chrome中遗漏了什么东西会禁用设置页面中的注入功能吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

实际上,您无法将代码注入7页面。它们包含可以以不允许扩展名的方式修改浏览器的控制元素/代码。

Chrome仅通过not allowing permissions to be set for chrome:// URLs解决此问题,console.log(String.fromCharCode(7))不包括此内容。

但是,您可以使用Override Pages替换其中一些(至少是历史记录页面)。