Spec-Zone.ru › Web Extensions

webRequest.StreamFilter.write()

Записывает данные ответа в выходной поток.

Вы можете вызвать эту функцию только после того, как сработает событие onstart.

Синтаксис

filter.write(
  data    // ArrayBuffer or Uint8Array
)

Параметры

data

Uint8Array или ArrayBuffer: массив байтов, содержащий данные, передаваемые в рендеринг-движок браузера.

Возвращаемое значение

Ничего.

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
write Нет Нет 57 ? Нет Нет ? ? 57 ? Нет ?

Примеры

В этом примере используется write(), чтобы заменить "Пример" в первой части ответа на "Пример расширения веб-приложения".

function listener(details) {
  let filter = browser.webRequest.filterResponseData(details.requestId);
  let decoder = new TextDecoder("utf-8");
  let encoder = new TextEncoder();

  filter.ondata = (event) => {
    let str = decoder.decode(event.data, {stream: true});
    // Just change any instance of Example in the HTTP response
    // to WebExtension Example.
    str = str.replace(/Example/g, 'WebExtension Example');
    filter.write(encoder.encode(str));
    filter.disconnect();
  }

  //return {}; // not needed
}

browser.webRequest.onBeforeRequest.addListener(
  listener,
  {urls: ["https://example.com/*"], 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/write

Spec-Zone.ru

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