Javascript 使用chrome.windows.create和chrome.tabs.create在incognito中打开多个链接
我正在为自己做一个chrome扩展,我想在隐姓埋名中为我的网站打开多个新会话的标签 当调用该函数时,它应该打开一个新的incognito窗口,并在那里打开4-5个选项卡,但当前链接在已单击chrome扩展按钮的窗口中打开 当前代码:Javascript 使用chrome.windows.create和chrome.tabs.create在incognito中打开多个链接,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在为自己做一个chrome扩展,我想在隐姓埋名中为我的网站打开多个新会话的标签 当调用该函数时,它应该打开一个新的incognito窗口,并在那里打开4-5个选项卡,但当前链接在已单击chrome扩展按钮的窗口中打开 当前代码: chrome.windows.create({focused: true, incognito: true }, function(win) { for (var i = 0; i < links.length; i++) {
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
})
}
});
chrome.windows.create({focused:true,incognito:true},函数(win){
对于(变量i=0;i
我应该做些什么来打开incognito窗口中的新选项卡?显然,回调是在窗口关闭之后但在关闭之前调用的 在选项中明确指定新窗口id:
chrome.tabs.create({
url: 'http://example.com',
windowId: win.id,
});
显然,回调是在窗口关闭之后但在关闭之前调用的 在选项中明确指定新窗口id:
chrome.tabs.create({
url: 'http://example.com',
windowId: win.id,
});
我还想在新创建的匿名窗口中打开几个选项卡。使用从创建窗口收到的对象打开选项卡
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.create({
url:splashNodes[0]。url,
隐姓埋名:是的,
},w=>{
console.log({w});
for(设i=1;i
创建为incognito的窗口在回调中没有返回任何内容。chrome.windows.onCreated也没有启动。按照某人的建议将权限{“incognito”:“split”}添加到清单中没有帮助
解决我问题的方法是,用户向我的扩展(扩展管理器,详细信息)授予匿名权限,如上所述。我还想在新创建的匿名窗口中打开几个选项卡。使用从创建窗口收到的对象打开选项卡
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.create({
url:splashNodes[0]。url,
隐姓埋名:是的,
},w=>{
console.log({w});
for(设i=1;i
创建为incognito的窗口在回调中没有返回任何内容。chrome.windows.onCreated也没有启动。按照某人的建议将权限{“incognito”:“split”}添加到清单中没有帮助
解决我问题的方法是,当用户向我的扩展(扩展管理器,详细信息)授予匿名权限时,如上所述。@wOxxOm工作得很好,你能将此作为答案发布,以便我可以接受吗?@wOxxOm工作得很好,你能将此作为答案发布,以便我可以接受吗?实际上,
windows.create()
回调在windows
事件之后调用。顺序是:windows.onCreated
事件,然后是多个选项卡
事件,然后是windows.onFocusChanged
激发(有时两次),然后是windows.create()
回调。但是,对于许多进一步的操作,您需要延迟/等待进一步的事件(例如,一对/多几个选项卡。onUpdated
然后是选项卡。onUpdated
状态为“完成”)。在启动windows.create()
回调后,没有其他windows
事件。但是,这不是问题所在。在这种情况下,根据设计,新窗口未设置为(即,tabs.create()
在未指定windowId时创建选项卡的窗口)。因此,问题不是“当前窗口”尚未更改,而是它的设计使得打开新窗口不会更改当前运行代码的“当前窗口”。请随意在您的答案中添加此信息或类似信息。我将首先重新检查源代码,因为粘性当前窗口的想法对我来说似乎是一个糟糕的API设计选择。实际上,windows.create()
回调是在windows
事件之后调用的。顺序是:windows.onCreated
事件,然后是多个选项卡
事件,然后是windows.onFocusChanged
激发(有时两次),然后是windows.create()
回调。但是,对于许多进一步的操作,您需要延迟/等待进一步的事件(例如,一对/多几个选项卡。onUpdated
然后是选项卡。onUpdated
状态为“完成”)。在启动windows.create()
回调后,没有其他windows
事件。但是,这不是问题所在。在这种情况下,根据设计,新窗口未设置为(即,tabs.create()
在未指定windowId时创建选项卡的窗口)。因此,问题不是“当前窗口”尚未更改,而是它的设计使得打开新窗口不会更改当前运行代码的“当前窗口”。请随意在您的答案中添加此信息或类似信息。我将首先重新检查源代码,因为粘性当前窗口的想法对我来说似乎是一个糟糕的API设计选择。