Utilisé lorsqu'une demande n'a pas pu être traitée en raison d'une erreur : par exemple, un manque de connectivité Internet.
L'erreur est transmise à l'auditeur en tant que propriété d'erreur
de l'objet details
.
Notez que cet événement n'est pas déclenché pour les erreurs HTTP (réponses 4XX ou 5XX) : celles-ci passent par les étapes normales d'une requête, en appelant n'importe quel auditeur d'événement et en définissant details.statusCode
pour signaler l'erreur.
Cet événement est à titre d'information seulement.
Syntaxe
browser.webRequest.onErrorOccurred.addListener(
listener, // function
filter // object
)
browser.webRequest.onErrorOccurred.removeListener(listener)
browser.webRequest.onErrorOccurred.hasListener(listener)
Les événements ont trois fonctions :
addListener(callback, filter, extraInfoSpec)
- Ajouter un auditeur à cet événement.
removeListener(listener)
- Arrêtez d'écouter cet événement. L'argument
listener
est l'auditeur à supprimer. hasListener(listener)
- Vérifiez si
listener
est enregistré à cet événement. Retournetrue
s'il est écouté, sinonfalse
.
Syntaxe addListener
Paramètres
callback
-
Une fonction qui sera appelée lorsque cet événement se produira. La fonction sera passée les arguments suivants :
filter
webRequest.RequestFilter
. Un filtre qui restreint les événements qui seront envoyés à cet auditeur.
objets supplémentaires
détails
documentUrl
string
. URL du document dans lequel la ressource sera chargée. Par exemple, si la page web "https://example.com" contient une image ou un iframe, alors ledocumentUrl
pour l'image ou l'iframe sera "https://example.com". Pour un document de niveau supérieur,documentUrl
n'est pas défini.error
string
. La description de l'erreur. Cette chaîne est une chaîne d'erreur interne, peut varier d'un navigateur à l'autre et n'est pas garantie de rester la même entre les versions.frameId
integer
. Zéro si la requête se produit dans le cadre principal ; une valeur positive est l'ID d'une sous-trame dans laquelle la requête se produit. Si le document d'un (sous-)cadre est chargé (type
ismain_frame
orsub_frame
),frameId
indique l'ID de ce cadre et non l'ID du cadre extérieur. Les ID de trame sont uniques dans un onglet.fromCache
boolean
. Indique si cette réponse a été récupérée dans le cache du disque.ip
Facultatifstring
. L'adresse IP du serveur à laquelle la requête a été envoyée. Notez qu'il peut s'agir d'une adresse IPv6 littérale.method
string
. Méthode HTTP standard : par exemple, "GET" ou "POST".originUrl
-
string
. URL de la ressource qui a déclenché la requête. Par exemple, si "https://example.com" contient un lien, et que l'utilisateur clique sur le lien, alorsoriginUrl
de la requête résultante est "https://example.com".L'
originUrl
est souvent mais pas toujours la même chose quedocumentUrl
.Par exemple, si une page contient une iframe, et que l'iframe contient un lien qui charge un nouveau document dans l'iframe, alors ledocumentUrl
pour la requête résultante sera le document parent de l'iframe, mais l'originUrl
sera l'URL du document dans l'iframe qui contenait le lien. parentFrameId
integer
. de la trame qui contient la trame qui a envoyé la requête. Réglé à -1 s'il n'existe pas de l'iframe parent.proxyInfo
-
object
. Cette propriété n'est présente que si la demande est proxied. Il contient les propriétés suivantes :host
string
. Le nom d'hôte du serveur proxy.port
integer
. Le numéro de port du serveur proxy.type
-
string
. Le type de serveur proxy. L'un des :- "http": proxy HTTP (ou SSL CONNECT pour HTTPS)
- "https": proxy HTTP sur connexion TLS vers proxy
- "socks": SOCKS v5 proxy
- "socks4": SOCKS v4 proxy
- "direct": pas de proxy
- "unknown": proxy inconnu
username
string
. Nom d'utilisateur pour le service proxy.proxyDNS
boolean
. Vrai si le proxy exécutera une résolution de nom de domaine basée sur le nom d'hôte fourni, ce qui signifie que le client ne doit pas faire sa propre recherche DNS.failoverTimeout
integer
. Délai d'attente de basculement en secondes. Si la connexion par proxy échoue, le proxy ne sera pas utilisé à nouveau pendant cette période.
requestId
string
. L'ID de la demande. Les ID de requête sont uniques au sein d'une session de navigateur, de sorte que vous pouvez les utiliser pour relier différents événements associés à la même requête.tabId
integer
. ID de l'onglet dans lequel la demande a lieu. Définir à -1 si la requête n'est pas liée à un onglet.timeStamp
number
. L'heure à laquelle cet événement s'est déclenché, en millisecondes depuis l'époque.type
webRequest.ResourceType
. Le type de ressource demandée : par exemple, "image", "script", "stylesheet".url
string
. Cible de la demande.
Compatibilité du navigateur
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Exemples
var target = "<all_urls>";
/*
e.g., with no network:
"https://developer.mozilla.org/en-US/"
NS_ERROR_NET_ON_RESOLVED in Firefox
net::ERR_INTERNET_DISCONNECTED in Chrome
*/
function logError(responseDetails) {
console.log(responseDetails.url);
console.log(responseDetails.error);
}
browser.webRequest.onErrorOccurred.addListener(
logError,
{urls: [target]}
);
Example extensions
Cette API est basée sur l'API Chromium chrome.webRequest
. Cette documentation est dérivée de web_request.json
dans le code Chromium.
Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.