Le widget jQuery sélectionné ne fonctionne pas dans la vue Compatibilité de IE8

J’utilise le widget choisi jQuery de http://harvesthq.github.com/chosen/ . Cela fonctionne bien dans mon application dans la plupart des navigateurs, mais cela ne fonctionnera pas dans IE8 sous “Affichage de compatibilité”. Cela pose un problème pour moi car l’affichage de compatibilité sur l’intranet de mon entreprise est utilisé par défaut pour les sites intranet. Vous pouvez tester mon problème en allant sur le lien ci-dessus et en basculant sur Affichage de compatibilité dans IE.

La raison pour laquelle je ne l’ai pas complètement abandonné, c’est que sur cette page http://davidwalsh.name/dw-content/jquery-chosen.php, quelqu’un le fait fonctionner en mode d’affichage de compatibilité dans IE (voyez vous-même).

J’utilise jQuery 1.6.2 et la version choisie de la 0.9.5. Windows XP et IE 8.0.6001 sous Affichage de compatibilité. Cela fonctionne bien si je bascule le mode navigateur sur IE8 dans les outils de développement, mais je ne veux pas que tous les utilisateurs aient à le faire. Quelqu’un a-t-il déjà utilisé ce plugin et l’a-t-il fonctionné en mode de compatibilité dans IE8?

 $("#groupsList").data("placeholder", "Select Groups").chosen(); 

Vous savez quelque chose, je suis tombé sur le même problème aujourd’hui.

La version que David Walsh utilise pour faire une démonstration est 0.9.1. Il existe un élément de code dans la version 0.9.5 qui le désactive complètement pour MSIE 7 et versions antérieures:

  if ($.browser.msie && ($.browser.version === "6.0" || $.browser.version === "7.0")) { return this; } 

Je ne sais pas exactement ce que fait IE en mode de compatibilité – dans IE9 avec le mode compat, au moins, faire $.browser.version renvoie ‘7.0’. Cela provoquera la fermeture de ce plugin.

Si vous le souhaitez vraiment, vous pouvez désactiver cette vérification ou appliquer le changement de code suggéré par quelqu’un sur ce problème de github . Alternativement, vous pouvez simplement utiliser la version 0.9.1 à partir de la démo de David.

Je ressens votre douleur en travaillant pour une de ces sociétés, qui a également ce mode activé par défaut. J’ai eu le même problème. au lieu de bifurquer choisi.js, vous pouvez définir

  

qui dira à IE de rendre la page avec son dernier moteur de rendu, dans notre cas IE8.

C’est une vieille question, mais j’espère que cela aidera les autres.