2010-06-08 6 views
4

Donc, j'ai essayé de résoudre ce bug où un grand pourcentage d'utilisateurs de Windows qui sont sur mon application web ajax (jquery) ne sont pas en mesure de jouer. Je n'ai pas pu le reproduire sur ma fin avec un windows 7 IE8 fonctionnant dans un parallèle vm. Le problème principal semble être dans le javascript quelque part parce que les utilisateurs se plaignent d'un bouton ajax ne fonctionne pas. Ils cliquent dessus et rien ne se passe, donc soit l'événement ne se déclenche pas, soit mon appel ajax échoue, et peut-être que le retour de l'ajax pourrait échouer. Après avoir essayé quelques idées, un ami a suggéré que je vérifie damnit! https://damnit.jupiterit.com/ qui va attraper des exceptions en javascript et vous les envoyer par courriel. C'est un outil assez génial! Donc, maintenant j'ai un peu plus de données, mais, je suis coincé. Fondamentalement, il semble que la majorité des exceptions semblent se plaindre d'une erreur de syntaxe. Je vais coller les échantillons ci-dessous.Quelle est cette erreur de syntaxe Internet Explorer (javascript?) -2146827286?

message: 
    Syntax error 
number: 
    -2146827286 
description: 
    Syntax error 
Browser: 
    Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; .NET CLR 1.0.3705; OfficeLiveConnector.1.3; OfficeLivePatch.0.0) 

Ce qui est intéressant est que l'erreur de syntaxe se produit régulièrement dans les navigateurs de rapports MSIE 8.0 mais avec windows vista, xp, et ci-dessous, si ancien OS avec le dernier IE.

Quelqu'un sait-il de cette erreur? Est-ce que cela pourrait être quelque chose de bizarre ordinateur lent/connexion lente Internet où peut-être mes fichiers javascript ne sont pas entièrement chargés avant que j'appelle les fonctions. J'utilise le jquery $ (document) .ready() pour attendre avant de configurer quoi que ce soit.

+0

Serait-ce une option Internet Explorer que les gens ont mis à quelque chose? – ben

+0

ok cette exception était trompeuse. J'ai été capable de trouver un ordinateur et de reproduire le problème. Le cœur du problème était que les fenêtres plus anciennes ont des paramètres de cookies restrictifs dont le framework django a besoin pour identifier un utilisateur authentifié à travers les requêtes. Quand ce n'était pas le cas, le framework crachait une réponse à mon appel ajax qui n'avait aucun sens à ce que j'attendais. – ben

Répondre

0

Chaque fois que vous obtenez une erreur de grand nombre négatif comme cela, convertissez-le en hexadécimal en premier. À l'aide de la calculatrice Windows, sélectionnez Afficher/Scientifique, copiez/collez ce numéro dans la calculatrice et appuyez sur Hex. Lorsque vous faites cela, vous obtenez 800A03EA (il suffit de prendre les 8 derniers chiffres). Ensuite, recherchez Google pour ce numéro d'erreur et vérifiez si l'une des pages trouvées vous aide.

+0

merci! google search dit peut-être que c'est une chose vbscript? Internet Explorer pourrait-il interpréter le javascript comme vbscript? Je l'ai mon code enveloppé dans ... si ... – ben

+0

@ben: Je suppose qu'il est possible que IE pourrait mal interpréter le langage de script, mais je ne suis pas sûr pourquoi cela échouerait parfois mais pas toujours. –

1

-2146827286 est un code d'exception HRESULT (plus souvent vu en hexadécimal sous le nom 0x800A03EA) et semble être une erreur de syntaxe (compilation) dans votre script (côté serveur). Vous pourriez tenter d'exécuter le point de terminaison que votre appel AJAX exécute en dehors du contexte de votre code côté client pour voir si vous pouvez capturer des informations supplémentaires (de préférence dans votre environnement de développement/assurance qualité).

+1

Si c'était un problème côté serveur, le problème ne serait-il pas agnostique? Le seul agent utilisateur signalé pour cette erreur sont les clients Internet Explorer. – ben

+0

oh, et mon côté serveur est python + django – ben

+0

voici une pensée, Internet Explorer pourrait interpréter le javascript comme VBScript? Je l'ai fait mon code enveloppé dans ... ben

Questions connexes