webRequest.StreamFilter.status
Ein String, der den aktuellen Status der Anfrage beschreibt. Es wird einer der folgenden Werte sein:
"uninitialized"
-
Der Filter ist nicht vollständig initialisiert. Keine Filterfunktionen dürfen aufgerufen werden.
"transferringdata"
-
Der zugrunde liegende Kanal überträgt derzeit Daten, die in einem oder mehreren
ondata
-Events an die Erweiterung weitergeleitet werden. Die Erweiterung kann Filterfunktionen wiewrite()
,close()
oderdisconnect()
aufrufen. "finishedtransferringdata"
-
Der zugrunde liegende Kanal hat die Datenübertragung abgeschlossen. In diesem Zustand kann die Erweiterung weiterhin Antwortdaten mit der
write()
-Funktion des Filters schreiben. "suspended"
-
Die Datenübertragung ist derzeit ausgesetzt. In diesem Zustand kann die Erweiterung die Anfrage fortsetzen, indem sie die
resume()
-Funktion des Filters aufruft, und kann Antwortdaten mit derwrite()
-Funktion des Filters schreiben. "closed"
-
Die Erweiterung hat die Anfrage durch Aufrufen der
close()
-Funktion des Filters geschlossen. Der Filter wird keine weiteren Ereignisse auslösen, und die Erweiterung darf keine Filterfunktionen aufrufen. "disconnected"
-
Die Erweiterung hat den Filter von der Anfrage durch Aufrufen der
disconnect()
-Funktion des Filters getrennt. Alle weiteren Daten werden direkt geliefert, ohne den Filter zu durchlaufen. Der Filter wird keine weiteren Ereignisse auslösen, und die Erweiterung darf keine Filterfunktionen aufrufen. "failed"
-
Ein Fehler ist aufgetreten und der Filter wurde von der Anfrage getrennt. Die Erweiterung kann eine Fehlermeldung in
error
finden und darf keine Filterfunktionen aufrufen.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId);
console.log(filter.status); // uninitialized
filter.onstart = (event) => {
console.log(filter.status); // transferringdata
};
filter.ondata = (event) => {
console.log(filter.status); // transferringdata
// pass through the response data
filter.write(event.data);
};
filter.onstop = (event) => {
console.log(filter.status); // finishedtransferringdata
filter.disconnect();
console.log(filter.status); // disconnected
};
}
browser.webRequest.onBeforeRequest.addListener(
listener,
{ urls: ["https://example.com/*"], types: ["main_frame"] },
["blocking"],
);