2010-11-09 9 views
0

Il semble que j'ai énervé Firefox. Voici un working JSFiddle de ce qui se passe. Mais, pour l'expliquer rapidement:J'ai lancé mes propres infobulles, Firefox lançant une exception non interceptée

J'utilise Moustache.js pour rendre un modèle. Ensuite, j'utilise .css pour le définir sur display : block et opacity : 0. Ensuite, je définis le .offset et l'animation à opacity : 1.

Tout fonctionne bien dans Webkit, mais pas tellement dans Firefox. Je reçois l'erreur suivante:

uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMViewCSS.getComputedStyle]" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: http://path/to/jquery-1.4.3.js :: anonymous :: line 5223" data: no]

Des idées où je pourrais me tromper ici?

L'erreur est levée uniquement lorsque les appels .offset et .animate sont dans le code. Sinon, le code fonctionne bien, bien que, bien sûr, l'opacité ne soit pas animée à 1.

+0

Je aurait le code d'échafaudage avec un tas de blocs 'try..catch' pour restreindre la zone de problème . –

+0

Hey Ates, merci pour le commentaire. J'ai clarifié au fond de ma question la zone exacte du problème :) –

+0

Ah, désolé. J'ai manqué cela ... –

Répondre

2

Supprime les commentaires de typeTemplate et appTemplate.

typeTemplate : "<div class='tooltip'><a href='#' class='close'>Close</a><p>{{appType}}</p></div>",  

appTemplate : "<div class='tooltip'><a href='#' class='close'>Close</a><p class='title'>{{appName}}</p><p>More information coming soon!</p></div>", 

Je troubleshot en faisant une copie locale du site, a été jsFiddle enlise Firebug au point est écrasé Firefox. Quoi qu'il en soit, j'ai mis un débogueur sur la ligne 5224 (où il était en train de mourir) de la source jQuery et j'ai regardé les dernières valeurs avant qu'elles ne se cassent.

Voici une capture d'écran (ouvrez-le dans un nouvel onglet) de ce que j'ai vu dans firebug juste avant que l'erreur ne se produise. Je sais que c'est un peu difficile à voir mais vous pouvez lire le texte dans la valeur de données comme " end .tooltip". Pourquoi il a essayé de calculer le style d'un commentaire, je ne sais pas: P

alt text

+0

Merde, vous êtes un saint. –

+0

Donc, r-dub, j'essayais de duper ce live pour m'entraîner avec le débogueur, et je n'arrive pas à comprendre ce que vous obtenez. Voici à quoi ressemble ma fenêtre: http://d.pr/7ik8 - des réflexions sur l'endroit où je pourrais me tromper dans mon débogage? –

+0

Vous êtes gtg. Continuez à appuyer sur le bouton de lecture bleu jusqu'à ce que l'erreur apparaisse en prenant note de la valeur de l'élémet tout le temps. Quand vous voyez l'elem apparaître comme un objet de commentaire la prochaine fois que vous frappez play, vous verrez l'erreur apparaître. – rwilliams

0

Je voudrais ajouter un enregistrement pour regarder les positions calculées/offsets que vous définissez avec CSS. Il se peut que vous obteniez un NaN ou une autre valeur gênante que le navigateur n'aime pas.

+0

Malheureusement, clickedLeft et clickedTop évaluent correctement et fonctionnent si je substitue des valeurs réelles, donc il semble que ce n'est pas le problème. Merci beaucoup, cependant. D'autres idées sont les bienvenues. –