使用chrome.windows.create和chrome.tabs.create以隐身方式打开多个链接

时间:2017-02-11 11:03:22

标签: javascript google-chrome-extension

我正在为自己制作镀铬扩展程序,我想在我的网站的新会话中以隐身方式打开多个标签页

当调用该功能时,它应该打开一个新的隐身窗口并在那里打开4-5个标签,但是目前链接在点击了Chrome扩展按钮的窗口中打开。

当前代码:

    chrome.windows.create({focused: true, incognito: true }, function(win) {
          for (var i = 0; i < links.length; i++) {
            array = links[i].href;
            chrome.tabs.create({ 
                url: array, 
                selected: true
            })
          }
    });

如果要在隐身窗口中打开新标签,我应该更改哪些内容?

2 个答案:

答案 0 :(得分:1)

显然,在窗口为created之后但在focused之前调用了回调。

明确指定chrome.tabs.create选项中的新窗口ID:

chrome.tabs.create({ 
    url: 'http://example.com', 
    windowId: win.id,
});

答案 1 :(得分:1)

我还想在新创建的隐身窗口中打开几个标签。使用创建窗口时收到的对象打开选项卡。

        chrome.windows.create({
            url: splashNodes[0].url,
            incognito: true,
        }, w => {
            console.log({w});
            for (let i = 1; i < splashNodes.length; i++) {
                chrome.tabs.create({
                    url: splashNodes[i].url,
                    windowId: w.id
                });
            }
        })

以隐身模式创建的窗口在回调中未返回任何内容。 chrome.windows.onCreated也没有触发。根据某人的建议向清单添加权限{“ incognito”:“ split”}并没有帮助。

解决我问题的方法是,当用户向我的扩展程序(扩展管理器,详细信息)授予隐身权限时,如https://developer.chrome.com/extensions/permission_warnings所述。