3

拡張機能の一部であるタブのみのタブ ID を取得する方法はありますか?

4

3 に答える 3

4
myTabs[i].location.reload()

エラーが発生します:

Uncaught TypeError: Cannot call method 'reload' of undefined

しかし、このコード:

chrome.tabs.executeScript(myTabs[i].id, {code:"document.location.reload(true);"});

動作します。しかし、正しい方法を使用する方が良いです:

chrome.tabs.reload(myTabs[i].id)
于 2012-10-17T19:12:28.863 に答える
1

これは、「私の拡張機能の一部」が何を意味するかによって異なります。

拡張機能に含まれるページを表示しているタブを意味する場合は、次のことができます。

chrome.tabs.query({}, function (tabs) {
  var myTabs = [];
  for (var i = 0; i < tabs.length; i++) {
    if (tabs[i].url.indexOf(chrome.extension.getURL('')) === 0) {
      myTabs.push(tabs[i].id);
    }
  }
  console.log(myTabs);
});

代わりにタブの DOM にアクセスしたい場合は、さらに簡単になります。

var myTabs = chrome.extension.getViews({type: 'tab'});

DOM にアクセスすると、各ビュー ( DOMWindow ) を単純に繰り返し処理し、各ページを更新できます。

for (var i = 0; i < myTabs.length; i++) {
  myTabs[i].location.reload()
}
于 2012-02-24T09:30:31.790 に答える