检测Google Chrome中空白、新标签页的打开

5
我刚刚发布了一个Google Chrome扩展,它可以在新的空标签页中加载背景图片。插件可以在Chrome Web Store中找到。
为了检测新的空标签页,我需要在扩展的manifest.json中请求"tab"权限。然而,这会让扩展程序获得读取浏览器历史记录的权限。并不是所有用户都希望这样做,而我们实际上也不需要这个权限。有没有一种方法可以检测空标签页而不需要这个权限?目前,我们的检查代码如下:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
    if (changeInfo.status == "loading" && tab.url == 'chrome://newtab/')
    { /* load background into tab */ }
});
1个回答

5
如果您想自定义新标签页,您应该将以下内容添加到您的清单中:
"chrome_url_overrides": {
   "newtab": "newtab.html"
}

然后,将您当前注入新标签页的脚本作为<script>标签放置在newtab.html文件中。这样不会引起权限提示。


我确实这样做了,但即使在使用URL打开标签时,代码仍然被调用。但我只需要针对空选项卡运行此代码。 - Simon Steinberger
如果您按照上述步骤操作,就不需要将脚本注入到新标签页中,而是可以在“newtab.html”文件中添加对它的引用。这意味着它只会在常规新标签页出现时才会显示。 - metarmask
可能会有效。我稍后会检查一下。我不确定当URL存在时,newtab.html是否也是临时加载的……提前感谢! - Simon Steinberger

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接