4

Existe-t-il un moyen d'accéder aux détails de l'avertissement/de l'erreur de la page Web en utilisant JavaScript?Accès programmé aux détails de l'erreur de la page Web dans les navigateurs

Par exemple, les erreurs dans IE apparaissent dans le coin inférieur gauche comme ceci: alt text

Je voudrais pouvoir accéder aux détails de cette erreur (dans IE ainsi que d'autres navigateurs si possible) en utilisant JavaScript.

Des suggestions?

EDIT: Je ne recherche pas de débogueurs. Je veux accéder au contenu des détails de l'erreur/console d'erreur. Alternativement, comprendre comment créer un gestionnaire d'exception global équivalent pour JavaScript aiderait aussi

+0

http://stackoverflow.com/questions/361635/debugging-javascript-in-ie7 –

+0

merci, mais ce n'est pas ce que je cherche. Je veux accéder spécifiquement au contenu des détails d'erreur dans IE ou console d'erreur dans d'autres navigateurs. Alternativement, comprendre comment créer un gestionnaire d'exception global équivalent pour JavaScript aiderait aussi ... Je vais mettre à jour mon post. – psychotik

Répondre

4

Vous pouvez utiliser l'événement window.onerror. Vous pouvez considérer cet événement comme une sorte de gestionnaire d'exception global. La valeur renvoyée par onerror détermine si le navigateur affiche un message d'erreur standard. Si vous renvoyez false, le navigateur affiche le message d'erreur standard dans la console JavaScript. Si vous renvoyez true, le navigateur n'affiche pas le message d'erreur standard. (Source)

<script type="text/javascript"> 
    window.onerror=function(msg, url, line){ 
     alert('An error has occurred' + msg); 
     return true; 
    } 
</script> 

<script type="text/javascript"> 
    // Syntax error 
    document.write('hi there' 
</script> 

Vous pouvez également utiliser la gestion des exceptions traditionnelles en JavaScript pour attraper des erreurs d'exécution.

try 
{ 
    document.write(junkVariable) 
} 
catch (exception) 
{ 
    document.write(exception) 
} 

La sortie du ci-dessus serait:

‘junkVariable’ is undefined 

EDIT: Comme indiqué par psychotik's commentaire, l'événement window.onerror ne fonctionne pas dans Google Chrome. (Source)

+0

existe-t-il un moyen de le faire au niveau mondial, comme vous avez des applications mondiales SEH pour Windows? L'événement 'onerror' est-il quelque chose du genre? – psychotik

+1

Ou mieux encore, vous pourriez juste 'document.write()' l'objet 'exception' car c'est la méthode toString()' retournera 'TypeError: 'junkVariable' est undefined', donnant plus d'informations sur le type d'erreur jeté. –

+0

@Elijah Gray: Merci, je n'étais pas au courant de cela. Éditera ma réponse. –

Questions connexes