Spec-Zone.ru › Web Extensions

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

Spec-Zone.ru

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