webRequest.BlockingResponse
Объект этого типа возвращается обработчиками событий, которые установили "blocking" в своём аргументе extraInfoSpec.
Установив определённые свойства в BlockingResponse, обработчик может изменить сетевые запросы.
Обратите внимание, что вы не можете установить все свойства этого объекта в каждом обработчике: свойства, которые вы можете установить, зависят от события, которое вызвало этот обработчик, как подробно описано ниже.
Тип
Значения этого типа являются объектами. Они содержат следующие свойства:
-
authCredentialsНеобязательно -
object. Если установлено, запрос выполняется с использованием предоставленных учетных данных. Вы можете установить это свойство только вonAuthRequired. СвойствоauthCredentials— это объект со следующими свойствами:username-
string. Имя пользователя для ввода. password-
string. Пароль для ввода.
-
cancelНеобязательно -
boolean. Еслиtrue, запрос отменяется. Вы можете установить это свойство только вonBeforeRequest,onBeforeSendHeaders,onHeadersReceivedиonAuthRequired. -
redirectUrlНеобязательно -
string. Это URL-адрес, и если он задан, исходный запрос перенаправляется на этот URL. Вы можете установить это свойство только вonBeforeRequestилиonHeadersReceived.Перенаправления на схемы, отличные от HTTP, такие как data:, разрешены, но в настоящее время не поддерживаются (Firefox bug 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) запрос. Если какое-либо расширение возвращаетredirectUrlвonBeforeRequest,upgradeToSecureбудет проигнорировано для этого запроса. Вы можете установить это свойство только вonBeforeRequest.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
BlockingResponse |
Да | 14 | 45 | ? | Да | Нет | ? | ? | 48 | ? | Нет | ? |
upgradeToSecure |
Нет | Нет | 59 | ? | Нет | Нет | ? | ? | 59 | ? | Нет | ? |
Примечание: Этот API основан на API chrome.webRequest Chromium. Данная документация взята из web_request.json кода Chromium.
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/BlockingResponse