我使用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,但我不知道该怎么做。帮助
答案 0 :(得分:1)
方法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});
});
但最好在创建标签时记录标签ID,而不是稍后查询标签ID。为此,您需要使用chrome.tabs.create
命令提供回调函数,该命令将接收已创建选项卡的参数,包括其ID。