html - usos - utf 8 meta
Valor inválido Compatível com X-UA para o atributo http-equiv no elemento meta (6)
Eu usei o mesmo meta
que o HTML5 Boilerplate está usando, e o validador HTML do W3C reclama:
Valor inválido Compatível com X-UA para o atributo http-equiv no elemento meta.
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
O que há de errado com essa meta
tag?
.. isso pode ser uma boa resposta?
Definir cabeçalho HTTP com PHP:
Este não é meu trabalho, mas espero que seja útil para os outros também.
Eu tive o mesmo problema e adicionando e cercando toda a linha resolvida a situação.
<!--[if IE]><meta http-equiv="x-ua-compatible" content="IE=9" /><![endif]-->
Por favor ,chrome=1
remova ,chrome=1
da meta tag que vai funcionar bem. Com validador:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Se você baixar / construir o código src do validador, você mesmo poderá adicionar suporte.
Adicione o seguinte a um arquivo como html5-meta-X-UA-Compatible.rnc
. Em seguida, inclua-o em html5full.rnc
.
Eu fiz isso e funciona muito bem 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
Uma solução possível é implementar uma correção no lado do servidor no cabeçalho, como sugerido neste belo artigo escrito por Aaron Layton. (Todo o crédito deve ir para ele, e vou parafrasear ao invés de plagiar ...)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
"Quando o Internet Explorer se deparar com essa linha, ele mudará o mecanismo que está sendo usado para o primeiro Google Chrome Frame, se o plug-in estiver instalado, e depois para o Edge (o mais alto modo de documento suportado do navegador)."
Etapas :
- Corrigir a validação da página - Isso é conseguido simplesmente removendo a tag
- Velocidade de renderização - Em vez de esperar que o navegador veja a tag e, em seguida, alterar os modos, enviaremos o modo correto antecipadamente como um cabeçalho de resposta
- Certifique-se de que mostramos apenas a correção para o Internet Explorer - Usaremos apenas algumas detecções de navegador do lado do servidor e só as enviaremos para o IE
Para adicionar o cabeçalho em PHP, basta adicionar isso à nossa página:
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
header('X-UA-Compatible: IE=edge,chrome=1');
Ou você pode adicioná-lo ao seu arquivo .htaccess assim:
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
Link para o artigo original, verifique os comentários para possíveis advertências. Também inclui uma implementação para o C #.
Corrigir valor inválido X-UA-Compatible de uma vez por todas
Espero que isto ajude!
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />