如何判断是否从扩展程序创建选项卡?

时间:2012-05-18 06:19:21

标签: google-chrome-extension http-headers

我想实现一个支持修改http标头的函数。我的扩展程序如下:

  1. 用户打开页面A,然后单击我的扩展名的工具栏项。
  2. 我的扩展程序将打开一个新窗口(第B页),并让用户填写http标题。
  3. 然后我将在新标签页(C页)中打开初始页A的网址。
  4. 在我的background.html中,我想使用chrome.webRequest.onBeforeSendHeaders.addListener来侦听任何请求并修改页面C中的请求。
  5. 我的问题是如何知道请求来自我的扩展程序打开的新页面B. 我尝试Tab.openerTabId。但是我发现Tab.openerTabId是使用init页面A的tabId设置的,而不是我的扩展页面B的tabId。

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

1 个答案:

答案 0 :(得分:1)

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

但你不一定需要那些。你只需要这些网址。