webRequest.StreamFilter.write()

Schreibt einige Antwortdaten in den Ausgabestrom.

Sie können diese Funktion nur aufrufen, nachdem das onstart-Ereignis ausgelöst wurde.

Syntax

js
filter.write(
  data    // ArrayBuffer or Uint8Array
)

Parameter

data

Uint8Array oder ArrayBuffer: Array von Bytes, das die Daten enthält, die an die Rendering-Engine des Browsers übergeben werden sollen.

Rückgabewert

Keiner.

Browser-Kompatibilität

BCD tables only load in the browser

Beispiele

Dieses Beispiel verwendet write(), um "Example" im ersten Abschnitt der Antwort durch "WebExtension Example" zu ersetzen.

js
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.replaceAll("Example", "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"],
);