什么时候在请求回调的细节中未定义“启动器”

时间:2019-03-01 19:10:57

标签: google-chrome google-chrome-extension

此处的每个文档:https://developer.chrome.com/extensions/webRequest

发起者(通常是发出请求的域)是optional,并且由于我使用TypeScript,所以键入接口还指出initiator的值可以是{{1} }。

在什么情况下string | undefined的值为initiator?我四处搜寻,找不到任何有用的答案。

提前谢谢!

1 个答案:

答案 0 :(得分:1)

引用source code

  

对于浏览器启动的请求(例如导航)可能为null。

表示页面本身的主要请求。这样的请求没有所有者/发起者,因为此属性的目的是将子资源归因于其拥有的页面URL,以便确定扩展是否有权入侵。

这是对页面本身的典型请求,如onBeforeRequest侦听器所示:

{
  "frameId": 0,
  "method": "GET",
  "parentFrameId": -1,
  "requestId": "86",
  "tabId": 15,
  "timeStamp": 1551468325912.045,
  "type": "main_frame",
  "url": "https://github.com/"
}

也许您可以在TS代码中将属性声明为可选。