Accueil > weblog
- Lire le billet précédent - Lire le billet suivant -
Par Laurent Denis, le 08 janvier 2005.
Cet article de Peter Provost indique une solution pour empêcher Internet Explorer de proposer le téléchargement des fichiers délivrés en tant qu'
application/xhtml+xml, grâce à un hack de la base de registre. Il explique ainsi les choses:Bien qu'un grand nombre de gens pensent qu'Internet Explorer ne supporte pas ce type MIME, la véritable réponse est qu'il ne lui manque qu'une entrée dans la base de registre pour lui dire ce qu'il doit en faire.Malheureusement, ceci est totalement faux. Internet Explorer n'est pas capapable de traiter les documents servis en tant qu'
application/xhtml+xml. Tout ce que ce hack fait se limite à lui dire de traiter le document en tant quetext/html, en attribuant le CLSID pourtext/htmlà l'entréeapplication/xhtml+xmldans la base de registre.Sachant qu'il y a déjà des agents utilisateurs capables de traiter le type mime correct, à quoi cela sert-il donc d'ajouter une entrée au registre pour qu'Internet Explorer traite le contenu en tant que text/html ? Cela n'affecte pas l'entête
ACCEPTenvoyé par Internet Explorer (Heureusement). Dès lors, tous les sites qui font de la négociation de contenu vont continuer à lui envoyer le contenu entext/html.Du point de vue d'un développeur Web, cela n'est d'aucune aide. Informer ses visiteurs que ce site sera mieux rendu dans tel navigateur avec telle résolution est déjà une démarche assez ridicule: la plupart des développeurs sont à présent assez sensés pour avoir compris qu'un visiteur n'a aucune envie de changer son navigateur et sa résolution juste pour voir votre site. Mais cette solution franchit un pas de plus : afin de voir ce site Web, vous devrez ajouter cette entrée à votre registre Windows.
Même en supposant qu'un utilisateur d'Internet Explorer sous Windows décide de faire ainsi, et en supposant que des sites Web servent leur contenu en tant qu'
application/xhtml+xmlquelque-soit les capacités du navigateur, quel serait le résultat exact de ce hack ;?Les déclarations XML de feuilles de styles seront totalement ignorées, et avec elles toutes les autres fonctionnalités XML comme
xml:base. Le contenu ne sera pas parsé pour vérifier s'il est bien formé. Le balisage aura toujours des éléments implicites, commetbodysi celui-ci n'a pas été explicitement ajouté. Sans compter toute la somme de problèmes de script, tels que les commentairesCDATAignorés, tandis que les commentaires SGML,document.writeetinnerHTMLseront tous respectés.Si un développeur doit utiliser XHTML, et s'il se soucie d'Internet Explorer, il doit soit délivrer son contenu en tant que
text/htmlen suivant les directives de compatibilité avec HTML, ou utiliser la négociation de contenu pour adresser duapplication/xhtml+xmlaux agents utilisateurs qui le comprennent, et dutext/htmlaux autres. Tout ce que fait ce hack est de dire à Internet explorer de traiter ce contenuapplication/xhtml+xmlen tant quetext/html. Or, la plupart des contenusapplication/xhtml+xmlne suivent pas les directives de compatibilité HTML, ce qui signifie qu'Internet Explorer devra recourir encore plus que d'habitude sur ses procédés de recouvrement d'erreur.Une solution bien plus simple est de se procurer un meilleur navigateur.
Les trackbacks pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.
Commentaires
h3, le 14 février 2006
C'est vraiment frustrant d'un point de vue programmeur.. on tente de nous inculquer des "standards" dont les avantages ne sont pas toujours évident et dont l'implantation est plutot fastidieuse pour finalement se rendre compte que le navigateur que 90% du monde utilise n'est même pas foutu de le supporter. Internet explorer est vraiment une plaie pour le monde du web.
Les commentaires pour ce billet sont temporairement fermés en raison d'une série d'attaques de spam.