一尘不染

谷歌浏览器新标签页的网址是什么以及如何将其从manifest.json中排除

json

我目前正在构建一个简单的Google
chrome扩展程序来恶作剧我的兄弟。该扩展程序简单地删除了旧页面,并用从“您没有互联网”页面上复制的HTML和CSS替换了它,从本质上讲,使用户认为他们在使用时没有互联网。以下是注入所有新页面的内容脚本:

var hed = document.head;
var bod = document.body;
document.head.parentElement.removeChild(document.head);
document.body.parentElement.removeChild(document.body);
document.write(/*Copy of "no internet" page source here*/);

该脚本可以完美运行。我不希望更改发生的唯一页面是google chrome新标签页。通常排除页面的方法是在内容脚本下的Extensions
manifest.json文件中指定它。这是我原始的manifest.json设置:

{
    "manifest_version": 2,

    "name": "No Internet Extention",
    "description": "Make people with this extention think they have no internet",
    "version": "1.0",

    "content_scripts": 
    [
        {
          "matches": ["*://*/*"],
          "js": ["bup.js"]
        }
    ],

    "permissions": 
    [
        "activeTab",
        "https://ajax.googleapis.com/"
    ]
}

我目前已在manifest.json文件content_scripts部分中尝试了以下设置,以排除无效的Chrome新标签页:

"matches": ["http://*/*", "https://*/*"]

我认为这将排除它,因为google产品表单上的此页面告诉我“新标签”页面的URL是“
chrome:// newtab”,而不是HTTP:或HTTPS:协议。

我也尝试过:

"matches": ["*//*/*"]
"exclude_matches": ["chrome://newtab"]

"matches": ["*//*/*"]
"exclude_matches": ["chrome://newtab/*"]

"matches": ["*//*/*"]
"exclude_matches": ["*://newtab/*"]

"matches": ["*//*/*"]
"exclude_globs": ["chrome://newtab"]

这些都不起作用,内容脚本仍在新选项卡页面上执行。我认为问题的根源在于我的“新标签” URL不正确。我对排除网页的研究在这里完成: Google
Content Scripts
Page
。真正的问题是:是否有人知道google新标签页的正确网址,或者如何将其排除在清单文件中?


阅读 256

收藏
2020-07-27

共1个答案

一尘不染

请注意,我从2016年起的原始答案中的大部分内容不再适用。

我决定删除此答案的原始内容,以免误导他人。原始答案可以在编辑历史记录中查看。

2020-07-27