1. Mozilla
  2. 附加组件
  3. 浏览器扩展
  4. API
  5. webRequest
  6. webRequest.BlockingResponse

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

webRequest.BlockingResponse

extraInfoSpec 参数中设置了 "blocking" 参数的事件监听器将返回该类型的对象。

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

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

类型

该类型的取值是一个对象。其包含以下属性:

authCredentials 可选

object。若设置,则请求将使用给定的凭据进行。你只能在 onAuthRequired 中设置该属性。authCredentials 属性是包含下列属性的对象:

username

string。要提供的用户名。

password

string。要提供的密码。

cancel 可选

boolean。若为 true,则请求被取消。你只能在 onBeforeRequestonBeforeSendHeadersonHeadersReceivedonAuthRequired 中设置该属性。

redirectUrl 可选

string。如果设置,则原始请求将被重定向到该 URL。你只能在 onBeforeRequestonHeadersReceived 中设置该属性。

你可以重定向到非 HTTP 方案(例如 data:)。重定向将使用与原始请求相同的请求方法,除非是从 onHeadersReceived 阶段发起的,此时重定向将使用 GET 方法。

如果扩展想要将公共(例如 HTTPS)URL 重定向到扩展页面,则扩展的 manifest.json 文件必须包含列出了扩展页面的 URL 的 web_accessible_resources 键。

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

Help improve MDN

Learn how to contribute

This page was last modified on by MDN contributors.

AltStyle によって変換されたページ (->オリジナル) /