sirve - que son las metas en html
Valor malo Compatible con X-UA para el atributo http-equiv en elemento meta (8)
¿Puede ser esta una buena respuesta?
Establecer encabezado HTTP con PHP:
Este no es mi trabajo, pero espero que también sea útil para otros.
He usado el mismo meta
que usa HTML5 Boilerplate, y el validador de HTML W3C se queja:
Valor incorrecto Compatible con X-UA para el atributo http-equiv en elemento meta.
<meta http-equiv=''X-UA-Compatible'' content=''IE=edge,chrome=1''>
¿Qué hay de malo con esta meta
?
O X-UA-Compatible no es HTML "estándar" (FSVO "estándar" que implica aparecer en una página wiki editable públicamente a la que hace referencia la especificación) o el Validador no está actualizado con el estado actual de esa wiki.
En el momento de escribir este documento (20130326), X-UA-Compatible aparece en la página wiki bajo una sección que dice: "Las siguientes extensiones propuestas aún no se ajustan a todos los requisitos de registro en la especificación HTML y, por lo tanto, aún no están permitidas. documentos." Entonces el validador es correcto para rechazar este valor.
Quite ,chrome=1
de la metaetiqueta, funcionará bien. Con validador:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Si descarga / compila el código src del validador, puede agregar soporte usted mismo.
Agregue lo siguiente a un archivo como html5-meta-X-UA-Compatible.rnc
) Luego, html5full.rnc
en html5full.rnc
.
Hice esto y funciona muy bien para validar.
meta.http-equiv.X-UA-Compatible.elem =
element meta { meta.inner & meta.http-equiv.X-UA-Compatible.attrs }
meta.http-equiv.X-UA-Compatible.attrs =
( common.attrs.basic
& common.attrs.i18n
& common.attrs.present
& common.attrs.other
& meta.http-equiv.attrs.http-equiv.X-UA-Compatible
& meta.http-equiv.attrs.content.X-UA-Compatible
& ( common.attrs.aria.role.presentation
| common.attrs.aria.role.menuitem
)?
)
meta.http-equiv.attrs.http-equiv.X-UA-Compatible = attribute http-equiv {
xsd:string {
pattern = "X-UA-Compatible"
}
}
meta.http-equiv.attrs.content.X-UA-Compatible = attribute content {
xsd:string {
pattern = "IE=((edge)|(EmulateIE(7|8|9|10))|7|8|9|10|11)(,chrome=(1|0))?"
}
}
common.elem.metadata |= meta.http-equiv.X-UA-Compatible.elem
Si está buscando que sea técnicamente válido (a todos les gusta ver el favicón verde) sin realizar ninguna funcionalidad, debería poder incluirlo en una etiqueta "si IE".
<!--[if IE]><meta http-equiv=''X-UA-Compatible'' content=''IE=edge,chrome=1''><![endif]-->
Tuve el mismo problema y agregar y rodear toda la línea remediaba la situación.
<!--[if IE]><meta http-equiv="x-ua-compatible" content="IE=9" /><![endif]-->
Una posible solución es implementar un arreglo del lado del servidor en el encabezado, como se sugiere en este agradable artículo de Aaron Layton. (Todo el crédito debe ir a él, y voy a parafrasear en lugar de plagiar ...)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
"Cuando Internet Explorer se encuentra con esta línea, cambiará el motor que se está utilizando primero a Chrome Frame, si el complemento está instalado, y luego a Edge (el modo de documento más compatible del navegador)".
Pasos :
- Repara la validación de la página: esto se logra simplemente eliminando la etiqueta
- Velocidad de procesamiento: en lugar de esperar a que el navegador vea la etiqueta y luego cambiar los modos, enviaremos el modo correcto por adelantado como un encabezado de respuesta
- Asegúrate de que solo mostramos la solución para Internet Explorer: solo usaremos la detección del navegador del lado del servidor y solo la enviaremos a IE
Para agregar el encabezado en PHP, podemos agregar esto a nuestra página:
if (isset($_SERVER[''HTTP_USER_AGENT'']) &&
(strpos($_SERVER[''HTTP_USER_AGENT''], ''MSIE'') !== false))
header(''X-UA-Compatible: IE=edge,chrome=1'');
O puede agregarlo a su archivo .htaccess de la siguiente manera:
<FilesMatch "/.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
Enlace al artículo original, revise los comentarios para posibles advertencias. También incluye una implementación para C #.
Fix Bad value X-UA-Compatible de una vez por todas
¡Espero que esto ayude!
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />