Une solution possible est d'implémenter un correctif côté serveur dans l'en-tête, comme suggéré dans cette belle rédaction d'Aaron Layton. (Tout le mérite devrait lui revenir, et je paraphraserai plutôt que de plagier ...)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
"Lorsque Internet Explorer rencontre cette ligne, le moteur qui est utilisé change d'abord Chrome Frame, si le plugin est installé, puis Edge (le mode de document le plus pris en charge par le navigateur)."
Étapes :
- Correction de la validation de la page - Ceci est réalisé en supprimant simplement la balise
- Vitesse de rendu - Au lieu d'attendre que le navigateur voie la balise, puis change de mode, nous enverrons le mode correct à l'avance comme en-tête de réponse
- Assurez-vous que nous affichons uniquement le correctif pour Internet Explorer - Nous allons simplement utiliser une détection de navigateur côté serveur et l'envoyer uniquement à IE
Pour ajouter l'en-tête en PHP, nous pouvons simplement ajouter ceci à notre page:
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
header('X-UA-Compatible: IE=edge,chrome=1');
Ou vous pouvez l'ajouter à votre fichier .htaccess comme ceci:
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
Lien vers l'article original, vérifiez les commentaires pour d'éventuelles mises en garde. Inclut également une implémentation pour C #.
Correction de la mauvaise valeur compatible X-UA une fois pour toutes
J'espère que cela t'aides!