webRequest.StreamFilter.close()
Закрывает запрос. После вызова этого метода данные ответа больше не будут передаваться в движок рендеринга браузера, и больше не будут передаваться события фильтра расширения.
Обратите внимание на разницу между этой функцией и disconnect(). С помощью disconnect(), браузер продолжит обработку любых последующих данных ответа, но они не будут доступны через фильтр. С помощью close(), браузер проигнорирует любые данные ответа, которые еще не были переданы в движок рендеринга.
Вы всегда должны вызвать close() или disconnect() после того, как вам больше не нужно взаимодействовать с ответом.
Вы не можете вызвать эту функцию до того, как будет запущено событие onstart.
Синтаксис
filter.close()
Параметры
Нет.
Возвращаемое значение
Нет.
Совместимость с браузерами
| Десктоп | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
close |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | 57 | ? | Нет | ? |
Примеры
В этом примере содержимое страницы будет заменено на «текст замены»:
function listener(details) { let filter = browser.webRequest.filterResponseData(details.requestId); filter.onstart = (event) => { console.log("started"); let encoder = new TextEncoder(); filter.write(encoder.encode("replacement content")); filter.close(); } } 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/close