ユーザーが開いているすべてのタブを繰り返し処理してから、特定のHTMLアイテムがあるかどうかを確認するにはどうすればよいid = 'item'
ですか?
30233 次
4 に答える
71
このメソッドは廃止され、chrome.tabs.query
次のようになりました。
http://developer.chrome.com/extensions/tabs.html#method-query
だから今あなたはしたいと思うでしょう:
chrome.tabs.query({}, function(tabs) { /* blah */ } );
空のqueryInfo
パラメータを渡すと、すべてのタブが返されます。
于 2013-03-07T21:20:43.627 に答える
23
あなたはそれをこのようにすることができます:
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番目はコンテンツスクリプト上にある必要があります;)
于 2011-03-23T17:30:17.857 に答える
2
これは非推奨ではないバニラウェイです(2019年5月):
chrome.tabs.query({}, function(tabs){
tabs.forEach(tb => {
chrome.tabs.sendMessage(tb.id, { action: "xxx" });
});
});
于 2019-05-31T16:32:10.307 に答える
1
chrome.tabs.query
あなたが探している機能です。パラメータをオブジェクトに渡して、タブをフィルタリングできます。あなたの場合、開いているすべてのタブを繰り返し処理する必要があります。探しているコードの2つのバージョンは次のとおりです。
同期
chrome.tabs.query({}, function(tabs) {
tabs.forEach(function (tab) {
// do whatever you want with the tab
});
});
非同期
var tabs = await chrome.tabs.query({});
tabs.forEach(function (tab) {
// do whatever you want with the tab
});
どちらの場合も、パラメータtab
はタブです。
于 2021-08-14T21:09:19.180 に答える