An event handler that will be called when the stream has no more data to deliver. In the event handler you can still call filter functions such as write()
, disconnect()
, or close()
.
On this page
webRequest.StreamFilter.onstop
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
onstop |
No | No | 57 | ? | No | No | ? | ? | 57 | ? | No | ? |
Examples
This example will append "extra stuff" to the response:
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"]
);
Here's another version of the example above:
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"]
);
© 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/onstop