如何在现有的隐身窗口中打开新标签页? [英] How to open new tab in an existing incognito window?

查看:48
本文介绍了如何在现有的隐身窗口中打开新标签页?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个Chrome扩展程序,用于从隐身窗口中的上下文菜单创建新标签页.我正在使用这样的脚本:

I'm writing a chrome extension about creating new tab from context menus in an incognito window. I'm using a script like this:

chrome.windows.create({url: "https://google.com", incognito: true});

该脚本有效,但是在激活时始终会弹出一个新窗口.有什么方法可以在现有的隐身窗口中打开新标签页?

The script works, but it always pops out a new window when it activates. Is there any way to open a new tab in an existing incognito window?

推荐答案

如果要在现有窗口中创建标签,则可以使用 chrome.windows.getAll() 获取当前打开的窗口的数组并遍历结果,直到看到 incognito 设置为 true 的窗口

If you want to create a tab inside an existing window you can use chrome.tabs.create() specifying the windowId of an existing window. To know which one of the open windows is in incognito mode, you can use chrome.windows.getAll() to get an array of currently open windows and iterate through the results until you see one with incognito set to true.

这是一个可行的示例:

chrome.windows.getAll({populate: false, windowTypes: ['normal']}, function(windows) {
    for (let w of windows) {
        if (w.incognito) {
            // Use this window.
            chrome.tabs.create({url: "https://google.com", windowId: w.id});
            return;
        }
    }

    // No incognito window found, open a new one.
    chrome.windows.create({url: "https://google.com", incognito: true});
});

这篇关于如何在现有的隐身窗口中打开新标签页?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆