我使用chrome api
选项卡一次打开多个链接。
但是问题是最后一个链接首先打开(或聚焦)。
$scope.data = [{
"url":"http://www.google.com"
},{
"url":"http://www.bing.com"
},{
"url":"http://www.yahoo.com"
}];
angular.forEach($scope.data, function(data){
chrome.tabs.create({
url: data.url
});
});
保留循环是不合适的,因为选项卡的排列会弄乱。我想我应该使用这个https://developer.chrome.com/extensions/tabs#method-update,但我不知道该怎么做。救命。
最佳答案
方法chrome.tabs.create
允许您指定是否应激活新选项卡。这是使几个打开的选项卡中的第一个处于活动状态的示例代码:
for (var i=0; i<urlArray.length; i++) {
chrome.tabs.create({
url: urlArray[i],
active: i==0
});
}
以上是在Xan的建议下写的;随后是带有
chrome.tabs.update
的旧版本。update
方法还可用于更改活动选项卡:chrome.tabs.update(id, {active: true});
使具有给定ID的标签处于活动状态。仅出于演示目的,以下将与您的代码一起使用:
chrome.tabs.query({url: $scope.data[0]}, function(tabsArray) {
chrome.tabs.update(tabsArray[0].id, {active: true});
});
但最好在创建标签时保留它们的记录,而不要稍后再查询。为此,您需要在
chrome.tabs.create
命令中提供一个回调函数,该函数将接收创建的选项卡的参数,包括其ID。