默认情况下如何在新标签页中打开chrome-extension

时间:2018-05-07 19:23:24

标签: javascript google-chrome-extension

默认情况下如何在新标签页中打开chrome-extension?不像现在那样在新的弹出窗口中出现。
我有:

//manifest.json    
{
    ...
    "background": {
            "scripts": ["js/background.js"],
            "persistent": false
        },
    "browser_action": {
            "default_title": "Test Viewer v.1.0",
            "default_icon": "icon.png",
            "default_popup": "index.html"
        },
    "permissions": [
            "unlimitedStorage",
            "notifications",
            "activeTab",
            "tabs",
            "https://docs.google.com/*",
            "downloads"
        ]
    ...
    }

//background.js
chrome.browserAction.onClicked.addListener(function(tab){
     chrome.tabs.create({
        url: ("index.html"),
        type: "normal"
    });
});

在文档https://developer.chrome.com/extensions/windows中,此类型被指定为type: "normal",用于打开正常的浏览器窗口"如我所愿,但它不起作用。 哪里出错?

2 个答案:

答案 0 :(得分:1)

摆脱default_popup。声明性地存在此属性意味着您希望在单击时打开扩展的弹出窗口。

只要browser_action部分存在,您就可以使用chrome.browserAction.onClicked事件来运行处理程序。

答案 1 :(得分:0)

1)我已经通过@Josh Lee的建议删除了default_popup中的manifest.json属性,并且在background.js中使用了此代码:

chrome.browserAction.onClicked.addListener(function(tab){
    chrome.tabs.create({
        'url': chrome.runtime.getURL("index.html#window")
    });
});