webRequest.StreamFilter.onstop
Обработчик событий, который будет вызван, когда у потока больше нет данных для передачи. В обработчике событий вы по-прежнему можете вызвать функции фильтрации, такие как write(), disconnect() или close().
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | |
onstop |
Нет | Нет | 57 | ? | Нет | Нет | ? | ? | 57 | ? | Нет | ? |
Примеры
Этот пример добавит "дополнительные данные" к ответу:
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"] );
Вот еще один вариант примера выше:
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