109 votes

X-UA-Compatible bonne valeur pour l’attribut http-equiv sur élément meta

J’ai utilisé le même `` qui est à l’aide de HTML5 Boilerplate, et le validateur HTML du W3C se plaint :

Mauvaise valeur X-UA-Compatible pour l’attribut http-equiv sur l’élément meta.

Quel est le problème avec cette `` tag ?

67voto

Quentin Points 325526

Soit X-UA-Compatible n'est pas "standard" HTML (FSVO "standard" qui implique apparaissant sur un public modifiable de la page wiki référencé par la spécification) ou le Validateur n'est pas à jour avec l'état actuel de ce wiki.

Au moment de la rédaction (20130326) X-UA-Compatible apparaît sur la page du wiki en vertu d'un article qui prévoit que: "Les propositions suivantes extensions ne sont pas encore conformes à toutes les exigences en matière d'inscription dans la spécification HTML et ne sont donc pas encore admis dans des documents valides." Si le validateur est correct pour rejeter cette valeur.

42voto

Matthew Haeck Points 553

Si vous cherchez à faire techniquement valides (tout le monde aime voir le favicon vert) sans effectuer aucune fonctionnalité, vous devriez être en mesure de simplement envelopper dans une balise « Si c’est à dire ».

30voto

D.Alexander Points 970

Une solution possible est de mettre en œuvre une solution côté serveur dans l'en-tête, comme il est suggéré dans cette belle écriture-up par Aaron Layton. (Tout le crédit doit aller à lui, et je vais paraphraser plutôt que de plagier...)

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

"Quand vient d'Internet Explorer à travers cette ligne va changer le moteur qui est utilisé pour la première Chrome Frame, si le plugin est installé, puis à Bord (le plus élevé de document pris en charge le mode du navigateur)."

Étapes:

  • Fixer la validation de la page – Ceci est réalisé simplement en supprimant la balise
  • La vitesse de rendu – au Lieu d'attendre le navigateur pour voir le tag puis changer de mode de transport, nous vous enverrons le bon mode d'avance comme en-tête de réponse
  • Assurez-vous que nous ne montrons que le correctif pour Internet Explorer – Nous allons simplement utiliser un serveur côté de détection du navigateur et envoyer uniquement pour IE

Ajouter l'en-tête en PHP, il suffit d'ajouter à 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 suit:

<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érifier les commentaires pour de possibles mises en garde. Comprend également une application en C#.

Corriger une Mauvaise valeur de X-UA-Compatible une fois pour toutes

Espérons que cette aide!

2voto

user1508429 Points 30

.. C’est peut-être une bonne réponse ?

Définit un en-tête HTTP avec PHP :

Ce n’est pas mon travail mais j’espère que c’est utile à d’autres aussi.

1voto

darcyparker Points 870

Si vous télécharger/build le validateur src code, vous pouvez ajouter prise en charge.

Ajouter ce qui suit dans un fichier tel que ) puis incluez-la dans .

Je l’ai fait et ça marche bien pour la validation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X