1

我想实现一个支持修改http头的功能。我的扩展工作如下:

  1. 用户打开页面 A,然后单击我的扩展程序的工具栏项。
  2. 我的扩展程序将打开一个新窗口(页面 B)并让用户填写 http 标头。
  3. 然后我将在一个新标签(页面 C)中打开一个带有初始页面 A 的 url。
  4. 在我的 background.html 中,我想使用 chrome.webRequest.onBeforeSendHeaders.addListener 来监听任何请求并修改来自页面 C 的请求。

我的问题是如何知道请求来自我的扩展程序打开的新页面 B。我尝试 Tab.openerTabId。但是我发现 Tab.openerTabId 是用初始化页面 A 的 tabId 设置的,而不是我的扩展页面 B 的 tabId。

“Tab.openerTabId == 页 A 的 tabId”不正确。“Tab.openerTabId ==页面A的tabId”的页面包含两种页面:页面A直接打开的页面和我的扩展打开的页面。

4

1 回答 1

1

两者都chrome.windows.create接受chrome.tabs.create一个回调参数,该参数会发出新的窗口/标签 ID。如果您使用这些功能打开,您可以保存这些 id 并对照它们检查窗口和选项卡。

但你不一定需要这些。您只需要 URL。

于 2012-05-18T12:03:20.110 回答