在Chrome扩展程序的onBeforeRequest中获取tabId -1

时间:2019-04-05 18:32:36

标签: google-chrome-extension

在我的Chrome扩展程序中,我听onBeforeRequest,但其中一个域却是一个谜:https://www.vinyl-digital.com/

问题:tabId === -1而不是侦听器中的有效制表符ID。还出现type === xmlhttprequest,尽管绝对不是XHR请求:

chrome.webRequest.onBeforeRequest.addListener()

frameId: -1
initiator: "https://www.vinyl-digital.com"
method: "GET"
parentFrameId: -1
requestId: "586533"
tabId: -1
timeStamp: 1554487869165.11
type: "xmlhttprequest"
url: "https://www.vinyl-digital.com/"

我想知道-1的可能原因以及如何开始获取有效的ID。

要重现它,我创建了一个新的Chrome配置文件,添加了扩展程序,在URL中键入的新选项卡中,按Enter。 tabId的第一次也是唯一一次是有效(!)数字。其他所有时间我都得到-1和“ xmlhttprequest”。

Chrome 73.0.3683.86(正式版本)(64位)Win 7

1 个答案:

答案 0 :(得分:1)

首次访问该站点时,将安装服务工作程序(您可以在devtools->“应用程序”选项卡中看到),该服务程序处理后续请求,并从不是选项卡的上下文中发出XHR,因此id为-1按照webRequest documentation

  

tabId:发出请求的标签的ID。
    如果请求与标签无关,则设置为-1。