Spec-Zone.ru › Web Extensions

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API