webRequest.BlockingResponse

当事件监听器的 extraInfoSpec 参数中设置了 "blocking" 时,会返回此类型的对象。

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

请注意,您不能在每个监听器中设置此对象的所有属性:可以设置的属性取决于触发该监听器的事件,具体如下所述。

类型

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

authCredentials 可选

object。如果设置了此属性,请求将使用提供的凭据进行。您只能在 onAuthRequired 中设置此属性。authCredentials 属性是一个包含以下属性的对象:

username

string。要提供的用户名。

密码

string。要提供的密码。

cancel 可选

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

redirectUrl 可选

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

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