webRequest.StreamFilter.disconnect()
Отключает фильтр от запроса. После этого браузер продолжит обработку ответа, но больше не будут срабатывать события фильтра и не будут иметь никакого эффекта вызовы функции фильтра. Обратите внимание на разницу между этой функцией и close(). С помощью disconnect(), браузер продолжит обработку любых последующих данных ответа, но они больше не будут доступны через фильтр. С помощью close(), браузер проигнорирует любые данные ответа, которые еще не были переданы в движок отображения.
Вы всегда должны вызывать disconnect() или close() после того, как вам больше не нужно взаимодействовать с ответом.
Вы не можете вызвать эту функцию до тех пор, пока не сработает событие onstart.
Синтаксис
filter.disconnect()
Параметры
Нет.
Возвращаемое значение
Нет.
Совместимость с браузером
| Рабочий стол | Мобильный | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
disconnect |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | 57 | ? | Нет | ? |
Примеры
В этом примере будет добавлен префикс "preface text" к телу ответа. Затем выполняется отключение, так что исходное тело ответа загрузится нормально:
function listener(details) { let filter = browser.webRequest.filterResponseData(details.requestId); filter.onstart = (event) => { console.log("started"); let encoder = new TextEncoder(); filter.write(encoder.encode("preface text")); filter.disconnect(); } } browser.webRequest.onBeforeRequest.addListener( listener, {urls: ["https://example.org/"], types: ["main_frame"]}, ["blocking"] );
© 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/StreamFilter/disconnect