요소 메타의 속성 http-equiv에 대해 잘못된 값 X-UA 호환
meta
HTML5 보일러 플레이트 와 동일한 것을 사용했으며 W3C HTML 유효성 검사기가 불평합니다.
요소 메타의 속성 http-equiv에 대해 잘못된 값 X-UA-Compatible.
<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>
이 meta
태그에 어떤 문제가 있습니까?
X-UA-Compatible은 "표준"HTML ( 사양에서 참조 하는 공개적으로 편집 가능한 위키 페이지 에 나타나는 FSVO "표준" )이 아니거나 유효성 검사기가 해당 위키의 현재 상태로 최신 상태가 아닙니다.
작성 당시 (20130326) X-UA-Compatible은 Wiki 페이지의 다음 섹션에있는 섹션 아래에 나타납니다. "다음 제안 된 확장은 아직 HTML 사양의 모든 등록 요구 사항을 준수하지 않으므로 아직 유효하지 않습니다. 서류." 따라서 유효성 검사기는이 값을 거부 할 수 있습니다.
어떤 기능에도 영향을주지 않고 기술적으로 유효한 (모든 사람이 녹색 파비콘을보고 싶어하는 경우) "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" />
"인터넷 익스플로러가이 라인을 만나면 플러그인이 설치된 경우 첫 번째 Chrome 프레임에 사용되는 엔진을 변경 한 다음 Edge (브라우저에서 지원되는 가장 높은 문서 모드)로 변경합니다."
단계 :
- 페이지 유효성 검사 수정 – 태그를 간단히 제거하면됩니다.
- 렌더링 속도 – 브라우저가 태그를보고 기다리는 모드를 기다리는 대신 응답 헤더로 올바른 모드를 미리 보냅니다.
- Internet Explorer에 대한 수정 사항 만 표시해야합니다. 일부 서버 측 브라우저 감지 기능 만 사용하고 IE에만 전송합니다.
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 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
,chrome=1
제대로 작동하는 메타 태그에서 제거하십시오 . 유효성 검사기 :
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
나는 똑같은 문제를 겪었고 그 라인을 추가하고 둘러싼 것이 상황을 해결했습니다.
<!--[if IE]><meta http-equiv="x-ua-compatible" content="IE=9" /><![endif]-->
'programing tip' 카테고리의 다른 글
C # 클래스가 인터페이스에서 특성을 상속 할 수 있습니까? (0) | 2020.08.04 |
---|---|
물건을 파괴하는 방법? (0) | 2020.08.04 |
TFS 특정 버전을 별도의 폴더로 가져 오기 (0) | 2020.08.04 |
sbt와 Gradle 비교 (0) | 2020.08.04 |
매달려있는 이미지 란 무엇이며 사용되지 않은 이미지는 무엇입니까? (0) | 2020.08.04 |