【问题标题】:Detect empty, new tab openings in Google Chrome在 Google Chrome 中检测空的新标签打开
【发布时间】:2016-07-31 07:53:03
【问题描述】:

我刚刚发布了一个 Google Chrome 扩展程序,它将背景图像加载到新的空白标签中。该插件位于Chrome Web Store

为了检测新标签和空标签,我需要在扩展的manifest.json 中请求“标签”权限。但是,这会授予扩展程序读取浏览器历史记录的权限。并非所有用户都想要这个,我们实际上也不需要它。有没有办法在没有此权限要求的情况下检测空选项卡?目前我们的检查如下所示:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab){
    if (changeInfo.status == "loading" && tab.url == 'chrome://newtab/')
    { /* load background into tab */ }
});

【问题讨论】:

    标签: url google-chrome-extension tabs manifest browser-history


    【解决方案1】:

    如果您想自定义新标签页,您应该将其添加到清单中:

    "chrome_url_overrides": {
       "newtab": "newtab.html"
    }
    

    然后将您当前注入到新标签页中的脚本作为<script> 标记放在newtab.html 文件中。这不会导致该权限消息。

    【讨论】:

    • 我就是这样做的,但是即使打开了带有 URL 的选项卡,代码也会被调用。但我只需要为空标签运行此代码。
    • 如果您执行上述操作,则无需将脚本注入新标签页,您将能够在newtab.html 文件中添加对它的引用。这意味着它只会在常规的新标签页出现时出现。
    • 这可能行得通。我稍后会检查。我不确定当 URL 存在时是否也会临时加载 newtab.html ...提前致谢!
    猜你喜欢
    • 2016-12-23
    • 2019-09-04
    • 2022-07-06
    • 2015-08-19
    • 2012-03-23
    • 1970-01-01
    • 1970-01-01
    • 2016-03-28
    • 2011-06-26
    相关资源
    最近更新 更多