0

ドキュメントでは、getBackgroundPage()と書かれています

現在の拡張機能内で実行されているバックグラウンドページのJavaScript'window'オブジェクトを返します。

どのウィンドウですか?「chrome.windows.getCurrent()」で取得するのと同じウィンドウですか。

4

1 に答える 1

1

で背景ページを指定するとmanifest.json、拡張機能が実行されているときにページが実際に「開いています」( に移動しchrome://extensionsて、プロパティを持つ拡張機能を探しますInspect views: some_background_page.html)。実際にページを見ることはできませんが、ページは存在し、ドキュメントに記載されているように、実行getBackgroundPage()するとそのページの「ウィンドウ」オブジェクトが返され、通常のウィンドウで実行できるすべてのアクションを実行できます (リストについては、こちらを参照してください)。これらのプロパティ/アクションの一部)。

2 番目の質問に答えるには、バックグラウンド ページから呼び出されたときに現在のウィンドウの値が最後にアクティブなウィンドウにフォールバックすることをここで読むことができます。background.js説明に役立つサンプルを次に示します。getCurrentとの同一の ID が表示getAllinWindowされます。どちらも、バックグラウンド ページ自体ではなく、拡張機能を呼び出したアクティブ/表示ページのページを参照します。

//  This gets all current window tabs
chrome.tabs.getAllInWindow(null, function(tabs){
  // This alerts the window ID when getCurrent is called from background.js
  chrome.windows.getCurrent(function(window){
    alert("Background ID: " + window.id);
    });

  // Now we loop through the tabs returned by getAllInWindow,
  // showing the window ID. The ID is identical to the one above,
  // meaning that getCurrent (when called from a background page)
  // returns the current active window - NOT the background page
  chrome.windows.get(tabs[0].windowId, function(window) {
    alert("Active Window: " + window.id);
  });
});

それが役立つことを願っています!

于 2012-10-29T17:40:34.980 に答える