检查选项卡是否存在并使其处于活动状态;否则创建它

问题描述:

我试图看看标签'http://google.com'是否存在。如果确实如此,那么我想将其设为活动页面。否则,标签'http://google.com'不存在,我想创建它。检查选项卡是否存在并使其处于活动状态;否则创建它

backround.js

chrome.runtime.onMessage.addListener(function(response, sender, sendResponse){ 
    chrome.tabs.create({'url': 'http://google.com'}, function(tab) { 
     alert('Tab Created ' + tab.id); 
     var oms = tab.id; 
     chrome.tabs.update(oms, {url:"http://en.wikipedia.org"}); 
    }); 
}); 

这将创建网页,获取tabid并设置tabid作为变量。

+0

无法获取chrome.tabs.update(oms,{selected:true});上班 –

+0

欢迎来到SO。我编辑了你的问题,并带着解释你想要发生的事情。我还添加了[tag:google-chrome-extension]标签,因为我只知道那就是你在说的内容,因为我有一些制作它们的经验。但我不确定维基百科与你的问题有什么关系。 – Teepeemm

您目前的尝试似乎是试图用Google创建一个标签,然后将其导航到Wikipedia。这不符合你的初始段落。相反,我想你想类似如下的内容:

chrome.runtime.onMessage.addListener(function(response, sender, sendResponse){ 
    chrome.tabs.query({'url': 'http://google.com'}, function(tabs) { 
     if (tabs.length > 0) { 
      chrome.tabs.update(tabs[0].id,{'active':true}); 
     } else { 
      chrome.tabs.create({'url':'http://google.com'}); 
     } 
    }); 
}); 

注意,这将无法找到http://www.google.com,或http://google.com/otherstuff。您可能需要使用match pattern

您评论无法更新标签为selecteddocumentation表示selected已弃用highlighted。这也暗示了可能发生的其他事情:highlighted选项卡不一定是活动的(具体而言,您可以有几个选项卡highlighted)。