1

http ヘッダーの変更をサポートする機能を実装したいと考えています。私の拡張機能は次のように機能します:

  1. ユーザーがページ A を開き、拡張機能のツールバー項目をクリックします。
  2. 私の拡張機能は新しいウィンドウ (ページ B) を開き、ユーザーに http ヘッダーを入力させます。
  3. 次に、初期ページ A の URL を含む新しいタブ (ページ C) で開きます。
  4. 私の background.html では、chrome.webRequest.onBeforeSendHeaders.addListener を使用してリクエストをリッスンし、ページ C からのリクエストを変更したいと考えています。

私の質問は、拡張機能によって開かれた新しいページ B からのリクエストであることをどのように知ることができるかです。Tab.openerTabId を試してみます。しかし、Tab.openerTabId には、拡張ページ B の tabId ではなく、初期化ページ A の tabId が設定されていることがわかりました。

「Tab.openerTabId == ページ A の tabId」は正しくありません。「Tab.openerTabId == ページ A のタブ ID」のページには、ページ A によって直接開かれたページと、私の拡張機能によって開かれたページの 2 種類のページが含まれています。

4

1 に答える 1

1

両方とも、新しいウィンドウ/タブ ID を与えるコールバック パラメーターを受け入れますchrome.windows.createchrome.tabs.createこれらの関数で開くと、これらの ID を保存して、それらに対してウィンドウとタブをチェックできます。

しかし、必ずしもそれらが必要なわけではありません。URLだけが必要です。

于 2012-05-18T12:03:20.110 に答える