webRequest.BlockingResponse

这种类型的对象由在 extraInfoSpec 参数中设置了 "blocking" 的事件侦听器返回。

通过在 BlockingResponse 中设置特定属性,侦听器可以修改网络请求。

请注意,你不能在所有侦听器中设置此对象的全部属性:可以设置的属性取决于触发此侦听器的事件,如下所述。

类型

此类型的值为对象。它们包含以下属性

authCredentials 可选

object. 如果设置,则使用给定的凭据进行请求。你只能在 onAuthRequired 中设置此属性。authCredentials 属性是一个具有以下属性的对象

用户名

string. 要提供的用户名。

密码

string. 要提供的密码。

cancel 可选

boolean. 如果为 true,则取消请求。你只能在 onBeforeRequestonBeforeSendHeadersonHeadersReceivedonAuthRequired 中设置此属性。

redirectUrl 可选

string. 这是一个 URL,如果设置,则将原始请求重定向到该 URL。你只能在 onBeforeRequestonHeadersReceived 中设置此属性。

允许重定向到非 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