webRequest.StreamFilter.onstop
Ein Ereignishandler, der aufgerufen wird, wenn der Stream keine Daten mehr zu liefern hat. Im Ereignishandler können Sie weiterhin Filterfunktionen wie write()
, disconnect()
oder close()
verwenden.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
Dieses Beispiel fügt der Antwort "extra stuff" hinzu:
js
function listener(details) {
const filter = browser.webRequest.filterResponseData(details.requestId);
const encoder = new TextEncoder();
filter.ondata = (event) => {
// pass through all the response data
filter.write(event.data);
};
filter.onstop = (event) => {
filter.write(encoder.encode("extra stuff"));
filter.disconnect();
};
}
browser.webRequest.onBeforeRequest.addListener(
listener,
{ urls: ["https://example.com/*"], types: ["main_frame"] },
["blocking"],
);
Hier ist eine andere Version des obigen Beispiels:
js
function listener(details) {
const filter = browser.webRequest.filterResponseData(details.requestId);
const encoder = new TextEncoder();
const data = [];
filter.ondata = (event) => {
data.push(event.data);
};
filter.onstop = (event) => {
for (const buffer of data) {
filter.write(buffer);
}
filter.write(encoder.encode("extra stuff"));
filter.close();
};
}
browser.webRequest.onBeforeRequest.addListener(
listener,
{ urls: ["https://example.com/"], types: ["main_frame"] },
["blocking"],
);