2008-11-26 5 views
2

Mon entreprise tire son argent d'une grande expérience utilisateur en utilisant IE6, 7, Firefox et Safari. 90% de notre trafic se termine par IE et probablement 60% de ce trafic est toujours IE6. IE6 a un tas de gotcha connus tels que l'accès aux objets DOM alors qu'ils sont encore en train d'être inséré en écrasant le navigateur. Presque aucun de ces problèmes ne survient lors des tests de routine, ils comprennent presque toujours une situation étrange de course qui affecte seulement notre client le plus important de la semaine.Comment inspectez-vous et testez-vous les "caractéristiques" connues du navigateur IE?

Quel processus ou outils utilisez-vous pour faire en sorte que les modèles connus que IE accident ne sont pas présents dans votre code?

Ajouté: Pour ceux qui suggère coller aux bibliothèques 3ème partie: Je suis d'accord que cela aidera beaucoup, mais vous devez toujours coller ces API avec Javascript. Y a-t-il quelqu'un qui ne se contente pas de croiser les doigts et qui attend quelqu'un dans la nature pour lui faire savoir que le code vient de s'écraser sur son système?

Répondre

1

Nous ne vous inquiétez pas à ce sujet. Au lieu de cela, nous utilisons un outil tiers comme jQuery (bien, EXACTEMENT comme jQuery dans notre société) pour assurer que les idiosyncrasies multiplateformes sont gérées.

+0

Oui, nous utilisons AJAX.NET + prototype mais nous passons à AJAX.Net + JQuery. Toujours obtenir environ un bug tueur par trimestre qui nous oblige à réorganiser ou patcher autour des bibliothèques. –

1

Je vous recommande de compter sur autant de frameworks tiers que vous le pouvez. Ils ont subi beaucoup plus de révisions et de tests que vous ne pouvez jamais effectuer. Évidemment, cela signifie que vous devriez utiliser jQuery pour tous vos travaux liés à JS.

Malheureusement, il n'y a pas de solution miracle pour ces bogues de navigateur, aussi longtemps que vous allez avec JS & HTML, vous continuerez à avoir ces pièges. Au mieux, vous pouvez en compiler une liste, la publier sur un blog, laisser la communauté en discuter et vous assurer que tous vos devs les apprennent. Voici un exemple de l'existence de Flash et de SilverLight, qui peut sembler choquante, car vous avez passé un temps considérable à développer votre interface utilisateur, mais si vous voulez être exempt de bugs de navigateur/système d'exploitation, 1 paquet de livraison d'entreprise est le seul moyen de franchir la barre des 99,9% pour les bogues Web.

1

je fais un essai sur window.event.srcElement (which'll ne fonctionnera que dans IE) et mettre les choses non-IE dans la prise, et une cravate choses dans ma finalement.

Tous les autres navigateurs semblent lancer une exception avec window.event.srcElement donc j'utilise cette ligne en premier et si elle est passée cette ligne, elle sera évidemment IE donc je place mon code IE là, si jamais il y a la capture c'est clairement un navigateur qui est un peu plus conforme aux normes, donc j'ai mis le code alternatif là-bas.

Cela a sauvé mon cul beaucoup quand il vient à l'écriture de code côté serveur événements à l'aide dynamique Javascript qui implique des événements de souris.

Espoir qui a aidé, vous donne un moyen de supporter plusieurs navigateurs avec code différent sans détection côté serveur.

Beleive ou non certaines des fonctions jQuery (et d'autres bibliothèques) ne fonctionnent pas sur tous les navigateurs.

+0

Les fonctions principales de jQuery fonctionneront sur tous les navigateurs que la bibliothèque indique qu'elle supporte, pouvez-vous être précis quand vous dites que certaines fonctions ne fonctionnent pas sur tous les navigateurs? – micmcg

-1

Beleive ou non une partie de jQuery (et autres bibliothèques) fonctions ne fonctionnent pas sur tous les navigateurs.

Bien sûr, si vous utilisez IE5 ou NN4, jQuery n'est peut-être pas le meilleur choix. Sinon, vous n'aurez pas de problème avec cela. J'utilise jQuery pour un site ÉNORME et je n'ai pas de problèmes avec la bibliothèque.J'ai des problèmes avec les plugins, mais c'est une histoire différente. Et btw, j'ai moins de 10 lignes de js purs dans mes fichiers. Si vous apprenez à utiliser jquery efficacement, vous n'aurez besoin d'aucune connaissance de js (cela semble bizarre, mais ... c'est mon cas: P)

+0

J'apprécie vraiment la note négative, mais si je vais avoir une explication serait encore plus agréable –