2 votes

NS_ERROR_FAILURE avec propriété absente

J'essaie de capturer l'événement pageLoad dans le progressListener, dans onLocationChange je vérifie l'URI de la nouvelle page, et dans le cas URI = about:blank j'obtiens

Erreur : Le composant a renvoyé un code d'échec : 0x80004005 (NS_ERROR_FAILURE) [nsIURI.host]

Si je comprends bien, l'URI n'a pas d'hôte du tout.

Comment puis-je vérifier que l'hôte est disponible sans analyse brute et sans attraper les exceptions ? Existe-t-il un moyen conventionnel de vérifier que l'attribut est présent ?

0voto

sdwilsh Points 3659

Votre meilleure chance est de filtrer certains protocoles (filter on scheme ). Dans ce cas, il est préférable d'utiliser une liste blanche des protocoles qui vous intéressent.

0voto

Neil Points 24938

En général, il n'y a aucun moyen de savoir avec certitude sans faire un try/catch, mais actuellement un nsIStandardURL est le seul type d'URI qui aura un hôte.

0voto

Lupanov Evgeny Points 21

Lorsque j'ai été confronté à ce problème, ma solution a été la suivante : d'indiquer un drapeau d'observateur aWebProgress.NOTIFY_LOCATION

aWebProgress.addProgressListener(this.listener, aWebProgress.NOTIFY_LOCATION);

Avant que je n'aie aWebProgress.NOTIFY_LOCATION et il y avait une exception, vous descendez

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X