webRequest.StreamFilter.status
Une chaîne de caractères qui décrit l'état actuel de la demande. Ce sera l'une des valeurs suivantes :
"uninitialized"
-
Le filtre n'est pas entièrement initialisé. Aucune fonction de filtrage ne peut être appelée.
"transferringdata"
-
Le canal sous-jacent transfère actuellement des données qui seront acheminées vers l'extension dans un ou plusieurs événements
ondata
. L'extension peut appeler des fonctions de filtrage telles quewrite()
,close()
, oudisconnect()
. "finishedtransferringdata"
-
Le canal sous-jacent a terminé le transfert des données. Dans cet état, l'extension peut toujours écrire des données de réponse en utilisant la fonction
write()
du filtre. "suspended"
-
Le transfert de données est actuellement suspendu. Dans cet état, l'extension peut reprendre la requête en appelant la fonction
resume()
et peut écrire les données de réponse en utilisant la fonctionwrite()
du filtre. "closed"
-
L'extension a fermé la requête en appelant la fonction
close()
du filtre. Le filtre ne déclenchera plus d'événements, et l'extension ne peut pas appeler de fonctions de filtrage. "disconnected"
-
L'extension a déconnecté le filtre de la requête en appelant la fonction
disconnect()
du filtre. Toutes les autres données seront livrées directement, sans passer par le filtre. Le filtre ne déclenchera plus d'événements, et l'extension ne peut pas appeler de fonctions de filtrage. "failed"
-
Une erreur s'est produite et le filtre a été déconnecté de la requête. L'extension peut trouver un message d'erreur dans
error
, et ne peut appeler aucune fonction de filtrage.
Compatibilité des navigateurs
BCD tables only load in the browser
Exemples
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"],
);