webRequest.BlockingResponse
当事件监听器的 extraInfoSpec 参数中设置了 "blocking" 时,会返回此类型的对象。
通过设置 BlockingResponse 中的特定属性,监听器可以修改网络请求。
请注意,您不能在每个监听器中设置此对象的所有属性:可以设置的属性取决于触发该监听器的事件,具体如下所述。
类型
此类型的值是对象。它们包含以下属性:
authCredentials可选-
object。如果设置了此属性,请求将使用提供的凭据进行。您只能在onAuthRequired中设置此属性。authCredentials属性是一个包含以下属性的对象: cancel可选-
boolean。如果为true,则取消请求。您只能在onBeforeRequest、onBeforeSendHeaders、onHeadersReceived和onAuthRequired中设置此属性。 redirectUrl可选-
string。这是一个 URL,如果设置了此属性,原始请求将被重定向到该 URL。您只能在onBeforeRequest或onHeadersReceived中设置此属性。允许重定向到非 HTTP 协议(例如
data:)的 URL。除非重定向是从onHeadersReceived阶段发起的,否则重定向将使用与原始请求相同的请求方法。如果是从onHeadersReceived阶段发起的,则重定向使用 GET 方法。如果扩展程序想将公共(例如 HTTPS)URL 重定向到 扩展程序页面,则该扩展程序的 manifest.json 文件必须包含一个
web_accessible_resources键,其中列出了扩展程序页面的 URL。 requestHeaders可选-
webRequest.HttpHeaders。这是一个HttpHeaders对象,一个数组,其中每个对象代表一个头部。如果设置了此属性,请求将使用这些头部而不是原始头部进行。您只能在onBeforeSendHeaders中设置此属性。 responseHeaders可选-
webRequest.HttpHeaders。这是一个HttpHeaders对象,一个数组,其中每个对象代表一个头部。如果设置了此属性,服务器将被假定为响应了这些响应头部而不是原始头部。您只能在onHeadersReceived中设置此属性。如果多个扩展程序尝试设置相同的头部(例如Content-Security-Policy),则只有一个更改会成功。 upgradeToSecure可选-
boolean。如果设置为true且原始请求是 HTTP 请求,这将阻止发送原始请求,而是发起一个安全的(HTTPS)请求。如果任何扩展程序在onBeforeRequest中返回了redirectUrl,则upgradeToSecure将被忽略。您只能在onBeforeRequest中设置此属性。
浏览器兼容性
加载中…
注意: 此 API 基于 Chromium 的 chrome.webRequest API。本文档源自 Chromium 代码中的 web_request.json。