webRequest.BlockingResponse
这种类型的对象由在 extraInfoSpec
参数中设置了 "blocking"
的事件侦听器返回。
通过在 BlockingResponse
中设置特定属性,侦听器可以修改网络请求。
请注意,你不能在所有侦听器中设置此对象的全部属性:可以设置的属性取决于触发此侦听器的事件,如下所述。
类型
此类型的值为对象。它们包含以下属性
authCredentials
可选-
object
. 如果设置,则使用给定的凭据进行请求。你只能在onAuthRequired
中设置此属性。authCredentials
属性是一个具有以下属性的对象 cancel
可选-
boolean
. 如果为true
,则取消请求。你只能在onBeforeRequest
、onBeforeSendHeaders
、onHeadersReceived
和onAuthRequired
中设置此属性。 redirectUrl
可选-
string
. 这是一个 URL,如果设置,则将原始请求重定向到该 URL。你只能在onBeforeRequest
或onHeadersReceived
中设置此属性。允许重定向到非 HTTP 方案,例如 data:,但目前不支持 (Firefox 错误 707624)。重定向使用与原始请求相同的请求方法,除非从
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
中设置此属性。
浏览器兼容性
BCD 表格仅在浏览器中加载
注意:此 API 基于 Chromium 的 chrome.webRequest
API。此文档来自 Chromium 代码中的 web_request.json
。