답변:
X-UA-Compatible이 "표준"HTML ( 사양에서 참조 하는 공개적으로 편집 가능한 위키 페이지 에 나타나는 것과 관련된 FSVO "표준" )이 아니거나 유효성 검사기가 해당 위키의 현재 상태로 최신 상태가 아닙니다.
작성 당시 (20130326) X-UA-Compatible은 위키 페이지에 다음과 같은 섹션 아래에 나타납니다. "다음 제안 된 확장은 아직 HTML 사양의 모든 등록 요구 사항을 준수하지 않으므로 아직 유효하지 않습니다. 서류." 따라서 유효성 검사기는이 값을 거부하는 것이 옳습니다.
<meta name= ...
입니다. 대한 <meta http-equiv=...
페이지입니다 wiki.whatwg.org/wiki/PragmaExtensions
X-UA-Compatible
있으므로 대체 "검증 기가 최신 상태가 아닙니다"가 적용됩니다. 이 점에서 validator.nu (일반적으로 더 최신의 것으로 알려져 있음) 조차도 구식입니다.
X-UA-Compatible
. stackoverflow.com/a/21048010/1006963
기능에 영향을주지 않고 기술적으로 유효하게 만들고 싶다면 (모든 사람이 녹색 파비콘을보고 싶어 함) "if IE"태그로 래핑 할 수 있습니다.
<!--[if IE]><meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'><![endif]-->
한 가지 가능한 해결책은 Aaron Layton 이 작성한 멋진 글 에서 제안한 것처럼 헤더에 서버 측 수정을 구현하는 것 입니다. (모든 신용은 그에게 가야하며 표절하기보다는 의역을 할 것입니다 ...)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
"Internet Explorer가이 줄을 발견하면 플러그인이 설치된 경우 첫 번째 Chrome 프레임에 사용되는 엔진을 변경 한 다음 Edge (브라우저에서 지원되는 가장 높은 문서 모드)로 변경합니다."
단계 :
PHP에서 헤더를 추가하려면 다음을 페이지에 추가하면됩니다.
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false))
header('X-UA-Compatible: IE=edge,chrome=1');
또는 다음과 같이 .htaccess 파일에 추가 할 수 있습니다.
<FilesMatch "\.(htm|html|php)$">
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</FilesMatch>
원본 기사에 링크하고 가능한주의 사항에 대한 의견을 확인하십시오. C #에 대한 구현도 포함됩니다.
도움이 되었기를 바랍니다!
<meta>
html 파일에서 제거해도 안전 합니다.
response.addHeader("X-UA-Compatible", "IE=edge,chrome=1");
, 그러나 여기에 전체 github 요점이 있습니다.
headers
및 setenvif
모드를 모두 활성화 해야했습니다.
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
..이게 좋은 대답일까요?
PHP로 HTTP 헤더 설정 :
이것은 내 작업이 아니지만 다른 사람들에게도 유용하기를 바랍니다.
유효성 검사기 src 코드를 다운로드 / 빌드하면 직접 지원을 추가 할 수 있습니다.
html5-meta-X-UA-Compatible.rnc
) 와 같은 파일에 다음을 추가 한 다음 html5full.rnc
.
나는 이것을했고 그것은 검증을 위해 잘 작동합니다.
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
나는 같은 문제가 있었고 그 전체 라인을 추가하고 둘러싸는 것이 상황을 해결했습니다.
<!--[if IE]><meta http-equiv="x-ua-compatible" content="IE=9" /><![endif]-->