如何迭代用户打开的所有标签,然后检查他们是否有id = 'item'
的特定HTML项?
答案 0 :(得分:56)
看来此方法已被弃用,而不是chrome.tabs.query
:
http://developer.chrome.com/extensions/tabs.html#method-query
所以现在你想做:
chrome.tabs.query({}, function(tabs) { /* blah */ } );
传递空queryInfo
参数将返回所有选项卡。
答案 1 :(得分:20)
你可以这样:
chrome.tabs.getAllInWindow(null, function(tabs){
for (var i = 0; i < tabs.length; i++) {
chrome.tabs.sendRequest(tabs[i].id, { action: "xxx" });
}
});
之后要照顾你的物品,如果你可以这样做:
document.getElementById('item')
不要忘记你不能通过使用“后台页面”来操纵HTML所以第一个代码片段用于后台页面,第二个代码片段必须在内容脚本上;)
答案 2 :(得分:0)
我用这个
chrome.tabs.getAllInWindow(null, function(tabs) {
$.each(tabs, function() {
// u can use 'this.id' to work with evey tab
});
});
答案 3 :(得分:0)
这是一种不被淘汰的香草方式(2019年5月):
chrome.tabs.query({}, function(tabs){
tabs.forEach(tb => {
chrome.tabs.sendMessage(tb.id, { action: "xxx" });
});
});