2010-08-03 2 views
2

J'ai écrit un bookmarklet, lorsque l'utilisateur cliquera dessus dans son navigateur, il fera quelques actions sur le site actuel et affichera des résultats dans un popup.Est-il possible d'entourer tout mon fichier javascript avec un essai attraper?

Dans certains sites Web, mon bookmarklet ne se charge pas car des problèmes peuvent exister sur le site Web actuel.

Mon code bookmarklet utilise la bibliothèque jquery.

Dans certains cas, les erreurs se produisent dans la bibliothèque jquery car certains conflits ou quelque chose que je ne connais pas.

Ma question est:
Puis-je entourer tout mon code bookmarklet avec un cran d'essai qui va attraper toute erreur se produit dans tout mon code et redirige l'utilisateur vers une autre page 'page d'erreur?

Répondre

0

Les erreurs se propageront vers le bas de la pile vers la fonction d'appel d'origine, donc si vous enveloppez tout votre code de niveau supérieur avec un try ... catch, les erreurs jQuery seront interceptées.

http://jsfiddle.net/NcEpe/

+0

mais je ne veux pas dire des erreurs que je crée, je veux dire des erreurs soulevées par le navigateur. –

+0

Pouvez-vous donner un exemple d'erreur/backtrace de firebug? Toutes les erreurs dans votre plugin proviendront de votre code, de sorte qu'elles peuvent toutes être détectées par un essai ... catch. Pour détecter les erreurs causées sur la page, voir: http://stackoverflow.com/questions/205688/javascript-exception-handling/205982#205982 –

+0

window.onerror a travaillé pour mon cas, merci. –

Questions connexes