Alors vous allez me dire, que viens faire Maxthon dans ce mic-mac, puisqu’il n’est en fait qu’une surcouche d’Internet Explorer. Et bien justement c’est là qu’est tout son intérêt. Le fait que Maxthon ne soit qu’un skin, va nous permettre de pouvoir utiliser les moteurs de rendu d’IE6 et d’IE7 sans avoir à installer les deux navigateurs (Attention, il en faut quand même un au minimum !).
Comment ça marche !?
De façon fort simple, en fait : la pierre angulaire du moteur d’Internet Explorer est logée dans une dll nommée Mshtm.dll. Maxthon fait appel à cette dll pour afficher vos pages en s’accommodant fort bien du fait que vous ayez installé ou IE6, ou IE7 sur votre poste. L’astuce consiste donc à posséder les deux versions de la dll (IE6/IE7) et à les interchanger à volonté pour pouvoir obtenir les rendus désirés.
Toujours dans l’idée de connaitre les différences entre les deux versions d’Internet Explorer, la même technique peut être appliquée à la dll responsable de Javascript (jscript.dll). Comme je l’ai expliqué dans un précédant billet, la version d’IE7 est plus rapide, mais elle se comporte également de façon différente sur certains points. J’ai par exemple constaté que l’event bubbler pouvait passer de l’état de « normal » à « super remifiant limite inutilisable » suivant la façon dont vous l’implémentez sur l’une ou l’autre des version du moteur Javascript.
De la théorie à la pratique.
Evidement, je ne vais pas vous proposer de changer les dll à la main, cela deviendrait très vite une corvée qui finirait par vous faire penser que réinstaller les deux versions d’IE sur votre poste n’était pas une si mauvaise idée que ça…
J’ai donc écrit un plugin pour Maxthon qui vous permet de changer les dll de façon automatique. Vous pouvez même choisir si vous ne souhaitez intervertir que mshtml.dll ou jscript.dll.
Le plugin se telecharge ici pour la version 2.x de Maxthon.
Et là pour la version 1x.
Son utilisation est extrèmement simple, puisqu’une fois installé, vous n’avez qu’a spécifier les dll que vous voulez changer en cliquant sur le « E ».
Ensuite, un clic sur le gros bouton (qui affiche en permanences les moteurs actuellement au travail) lancera la bascule des dll.
Le navigateur se ferme et redémarre tout seul.
Un coup d’œil sur le gros bouton vous affiche les nouveaux moteurs en cour.
Conseil d’utilisation. / Best practice.
Mshtml.dll et jscript.dll ont un petit souci : tout le monde les utilise. Il pourra donc arriver que lorsque vous désirez interchanger une dll, celle-ci sois déjà en cours d’utilisation par une autre application, ce qui rendra l’opération impossible. Il est donc recommandé de faire ces changements de dll lors du début d’une séance de travail, ou juste après le démarrage de votre poste. Bien évidement vous pourrez toujours ré-intervertir les dlls au cours de la séance, mais la réussite de l’opération restera intimement liée aux programmes qui tournent en même temps que Maxthon.
Voici donc, une liste non exhaustive des softs qui utilisent mshtml.dll et jscript.dll et qu’il sera impératif de fermer avant de procéder à la bascule des dll :
- Expression Web
- Pal talk
- Internet Explorer (qui l’u cru !!)
- Windows live writer
- Svchost (qui par moment ce réserve jscript.dll, ce qui est plus problématique...)
Vous ne devriez donc avoir aucun problème si vous avez ouvert en même temps : Firefox/Safari/Opera ou Dreamweaver (qui utilise le moteur d’Opera)
Voila, bon amusement avec ce plugin, n’hésitez pas à me contacter pour signaler bugs ou améliorations.