>웹 프론트엔드 >HTML 튜토리얼 >잘 알려진 브라우저의 DOCTYPE 모드 선택 메커니즘_HTML/Xhtml_웹페이지 제작

잘 알려진 브라우저의 DOCTYPE 모드 선택 메커니즘_HTML/Xhtml_웹페이지 제작

WBOY
WBOY원래의
2016-05-16 16:42:401378검색

문서 범위

이 문서에 포함된 모드 전환은 Firefox 및 기타 Gecko 기반 브라우저, Safari, Chrome 및 기타 Webkit 기반 브라우저, Opera, Konqueror, Mac용 Internet Explorer, Windows용 Internet Explorer 및 임베디드 IE 브라우저에 적용됩니다. 브라우저 엔진의 이름을 언급하는 것을 피하고 대신 해당 엔진을 사용하는 가장 잘 알려진 브라우저의 이름을 언급하세요.

이 문서에서는 각 모드의 정확한 동작을 문서화하기보다는 모드 선택 메커니즘에 중점을 둡니다.

모드

다양한 모드는 다음과 같습니다.

콘텐츠 유형이 text/html인 모드

text/html 콘텐츠에 대한 모드 선택은 문서 유형 스니핑에 따라 다릅니다(이 문서 뒷부분에서 설명). IE8에서는 모드가 다른 요인에 따라 달라집니다. 그러나 IE8에서는 기본적으로 Microsoft 블랙리스트에 없는 비인트라넷 사이트의 모드가 문서 유형에 따라 다릅니다.

이 글에서 동일하게 다루더라도 모드의 정확한 동작은 브라우저마다 다르다는 점은 아무리 강조해도 지나치지 않습니다.

Quirks 모드
Quirks 모드에서는 브라우저가 1990년대 후반 사양에 유행했던 방식을 기반으로 생성된 "손상" 페이지를 방지하기 위해 최신 웹 형식을 위반합니다. 다른 브라우저는 다른 특징을 구현합니다. Internet Explorer 6, 7, 8에서 특수 모드는 IE 5.5를 효과적으로 정지시킵니다. 다른 브라우저에서 쿼크 모드는 표준 모드와 약간 다릅니다.
새 웹페이지를 만드는 경우 관련 사양(특히 CSS2.1)을 준수하고 표준 모드를 ​​사용해야 합니다.
표준 모드
표준 모드에서 브라우저는 표준 준수 문서를 지정된 브라우저에서와 같이 규범적으로 올바른 것으로 처리하려고 시도합니다.
브라우저마다 단계가 다르므로 표준 모드는 단일 목표가 아닙니다.
HTML5에서는 이 모드를 "특수 모드 없음"이라고 부릅니다.
거의 표준 모드(거의 표준 모드)
irefox, Safari, Chrome, Opera(7.5부터 시작) 및 IE8도 CSS2 사양을 엄격하게 따르는 대신 전통적인 방법에 따라 테이블 셀의 수직 크기를 구현하는 "준표준 모드"라는 모드가 있습니다. Mac IE5, Windows IE6 및 7, Opera 7.5 이전 버전 및 Konqueror는 준표준 모드가 필요하지 않습니다. 왜냐하면 최소한 해당 표준 모드에서 테이블 셀 세로 크기를 구현하기 위해 CSS2 사양을 엄격하게 따르지 않기 때문입니다. 실제로 표준 모드는 Mozilla의 표준 모드보다 Mozilla의 준표준 모드에 더 가깝습니다.
HTML5에서는 이 모드를 "제한된 특수 모드"라고 부릅니다.
IE7 모드
IE8에는 주로 IE7 표준 모드의 복사본을 동결시키는 모드가 있습니다. 다른 브라우저에는 이와 같은 모드가 없으며 HTML5에서는 지정되지 않습니다.

콘텐츠 유형이 application/xhtml xml인 모드(XML 모드)

Firefox, Safari, Chrome 및 Opera에서 application/xhtml xml HTTP 콘텐츠 유형(메타 요소나 doctype이 아님!)은 XML 모드를 트리거합니다. XML 모드에서 브라우저는 브라우저에 지정된 범위까지 XML 문서 사양에 맞는 올바른 처리를 제공하려고 시도합니다.

IE6, 7, 8은 application/xhtml xml을 지원하지 않으며 Mac IE5도 지원하지 않습니다.

WebKit 기반 Nokia S60 브라우저에서는 application/xhtml xml HTTP 콘텐츠 유형이 XML 모드를 트리거할 수 없습니다. 모바일 월드 가든의 초점은 비표준 콘텐츠와의 호환성이기 때문입니다. (이전 '모바일 브라우저'는 비정규 콘텐츠가 XML로 태그되어 있기 때문에 실제 XML 파서를 사용할 수 없습니다.)

Konqueror를 충분히 테스트하지 않았기 때문에 이 브라우저에서 어떤 일이 일어날지 정확히 말할 수 없습니다.

웹 이외의 모드

일부 엔진에는 웹 콘텐츠와 관련이 없는 모드가 있습니다. 완전성을 위해 여기서만 언급됩니다. Opera에는 WML2.0 모드가 있습니다. Leopard의 WebKit에는 레거시 대시보드 위젯을 위한 특정 모드가 있습니다.

영향

이러한 패턴의 주요 영향은 다음과 같습니다.

레이아웃

text/html 모드는 주로 CSS 레이아웃에 영향을 미칩니다. 예를 들어, 테이블이 스타일을 상속하지 않는다는 것은 특이한 일입니다. 일부 브라우저 특수 모드에서는 상자 모델이 IE5.5 상자 모델이 됩니다. 이 문서에는 모든 레이아웃 문제가 나열되어 있지 않습니다.

준표준 모드(이 모드를 지원하는 브라우저)에서는 이미지가 포함된 테이블 셀의 높이만 표준 모드와 다릅니다.

XML 모드에서 선택기는 대소문자를 구분하는 동작이 다릅니다. 또한 HTML 본문 요소에 대한 특정 규칙은 최신 CSS 2.1 변경 사항을 구현하지 않는 이전 브라우저에는 적용되지 않습니다.

분석

HTML 및 CSS 구문 분석에 영향을 주어 표준을 준수하는 웹페이지가 잘못 구문 분석될 수 있는 문제도 있습니다. Quirk 레이아웃은 이러한 Quirk의 활성화 여부를 결정합니다. 그럼에도 불구하고 CSS 레이아웃 및 구문 분석(HTML 구문 분석 아님)에서 Quirks 모드와 표준 모드 간의 주요 유사점과 차이점을 이해하는 것이 중요합니다.

일부 사람들은 표준 모드를 ​​"엄격한 구문 분석 모드"로 잘못 언급합니다. 이는 HTML 구문 규칙을 적용하는 브라우저의 기능과 마크업의 정확성을 평가하는 브라우저의 기능을 오해하는 것입니다. 이것은 사실이 아닙니다. 표준 모드 레이아웃이 적용되는 경우에도 브라우저는 여전히 태그 수프(http://en.wikipedia.org/wiki/Tag_soup) 수정 작업을 수행합니다. (2000년 Netscape 6이 출시되기 전에 Mozilla에는 HTML 구문 규칙을 적용하기 위한 구문 분석 모드가 있었습니다. 이러한 모드는 기존 웹 콘텐츠와 호환되지 않아 폐기되었습니다.)

또 다른 일반적인 오해는 XHTML 구문 분석에 관한 것입니다. 일반적으로 XHTML 문서 유형을 사용하면 다른 구문 분석이 발생한다고 믿어집니다. 실제로는 그렇지 않습니다. 콘텐츠 유형이 text/html인 XHTML 문서는 HTML 문서와 동일한 파서를 사용합니다. 현재 모든 브라우저는 문서 유형이 text/html인 XHTML이 단지 "크루톤이 포함된 태그 수프"(어디에나 추가 슬래시가 있음)라는 점에 관심을 갖고 있습니다.

XML 문서 유형(예: application/xhtml xml 또는 xmapplication/)을 사용하는 문서가 구문 분석을 위해 XML 모드를 트리거하는 경우에만 이 시점의 구문 분석기는 HTML 구문 분석기와 완전히 다릅니다.

스크립트

Quirks Mode는 주로 CSS에 관한 것이지만 스크립팅에 관한 것도 약간 있습니다. 예를 들어 Firefox의 특수 모드에서 HTML id 속성은 IE에서와 마찬가지로 전역 스크립트 범위 개체 참조를 설정합니다. IE8의 스크립팅이 미치는 영향은 다른 브라우저보다 더 많은 관심을 받을 가치가 있습니다.

XML 모드에서 일부 DOM API의 동작은 완전히 다릅니다. 왜냐하면 XML DOM API의 동작은 정의된 HTML의 동작과 호환되지 않기 때문입니다.

문서 유형 스니핑(문서 유형 변환이라고도 함)

최신 브라우저는 문서 유형 스니핑을 사용하여 text/html 문서의 엔진 모드를 결정합니다. 이는 모드 선택이 HTML 문서 시작 부분의 문서 유형 선언(또는 선언 부족)을 기반으로 함을 의미합니다. (XML 문서 유형을 사용하는 문서에는 적용되지 않습니다.)

문서 유형 선언(doctype)은 SGML의 문법적 위조입니다. SGML은 구식 마크업 프레임워크이며 HTML5 이전의 HTML은 이를 기반으로 정의되었습니다. HTML4.01 사양에서 문서 유형 선언은 HTML의 버전 정보를 기술합니다. "문서 유형 선언"이라는 이름과 "버전 정보"를 설명하는 HTML 4.01 사양에도 불구하고 문서 유형 선언은 (이름 때문에) SGML 또는 XML 문서를 특정 유형의 문서로 분류하지 않습니다. . (자세한 내용은 부록에서)

HTML4.01 사양이나 ISO 8879(SGML) 모두 문서 유형 선언을 엔진 모드 변환으로 사용하는 것에 대해 언급하지 않습니다. Doctype 스니핑은 Doctype 스니핑이 설계되었을 당시 대부분의 기발한 문서에는 문서 유형 선언도 없고 이전 DTD에 대한 참조도 없다는 관찰을 기반으로 합니다. HTML5는 이 사실을 받아들이고 text/html의 doctype을 유일한 모드 변환으로 정의합니다.

일반적인 HTML5 이전 문서 유형 선언에는 "". 문서 유형 선언은 문서 루트 요소의 여는 태그 앞에 배치됩니다.

문서 유형 선택

텍스트/html

다음은 새 텍스트/html 문서를 만들 때 문서 유형을 선택하는 방법에 대한 간단한 가이드입니다.

표준 모드, 최첨단 검증

다음과 같은 검증을 원하는 경우 , 및 ARIA와 같은 새로운 기능이 있다면 이것이 옳은 일입니다. HTML5의 효과적인 정의는 여전히 변경 중이므로 Firefox, Safari, Chrome, Opera9 또는 Opera10에서 이미지 정렬을 테스트하십시오. Internet Explorer에서 이미지 정렬을 테스트하는 것만으로는 충분하지 않습니다. 어쨌든 IE8에서도 테스트해야 합니다.
표준 모드, 더욱 안정적인 검증 대상
이 문서 유형은 표준 모드도 실행하며 10년 된 HTML4.01 유효한 정의는 안정적입니다. Firefox, Safari, Chrome, Opera9 또는 Opera10에서 이미지 정렬을 테스트하십시오. Internet Explorer에서 이미지 정렬을 테스트하는 것만으로는 충분하지 않습니다. 어쨌든 IE8에서도 테스트해야 합니다.
표준 모드를 ​​사용하지만 테이블 레이아웃에서 마크업이나 분할된 이미지를 사용하는 것은 권장되지 않으며 수정하고 싶지 않은지 확인합니다.
준표준 모드(및 Mozilla의 이전 전체 표준 모드)를 실행합니다. 테이블을 사용하여 구현된 슬라이스 이미지 기반 레이아웃은 향후 HTML5로 이식할 경우 깨질 수 있습니다(전체 표준 모드에서도 마찬가지).
의도적으로 쿼크 모드 사용
문서 유형이 없습니다.
이러지 마세요. 의도적으로 쿼크 모드를 설계하는 것은 여러분을 귀찮게 할 것이며, 미래에는 동료나 후임자가 Windows IE6에 관심을 두지 않을 것입니다(아무도 더 이상 Netscape 4.x 및 IE5에 관심을 두지 않습니다). 쿼크 모드를 위해 디자인하는 것은 나쁜 생각입니다. 나를 믿으세요.
Windows IE6을 계속 지원하려면 다른 브라우저를 특수 모드로 전환하는 것보다 조건부 주석을 사용하여 특별한 해킹을 만드는 것이 좋습니다.

text/html로 사용되는 XHTML은 유해한 것으로 간주되기 때문에 어떤 XHTML 문서 유형도 권장하지 않습니다. 그럼에도 불구하고 XHTML doctype을 사용하기로 선택한 경우 XML 선언이 IE6(IE7은 아님)에서 쿼크 모드를 트리거한다는 점에 유의하세요.

응용 프로그램/xhtml xml

application/xhtml xml에 대한 간단한 지침은 doctype을 절대 사용하지 않는 것입니다. 이런 방식의 웹 페이지는 XHMTL 1.0과 "완전히 일관성"이 없지만 이는 중요하지 않습니다. (뒷면 부록을 참고하세요)

IE8 합병증

A List Apart는 doctype 외에도 IE8이 모드 선택 요소 중 하나로 메타 요소 기반의 모드 변환을 사용할 것이라고 소개한 적이 있습니다. (Ian Hickson, David Baron, David Baron again, Robert O'CallahanMaciej Stachowiak 댓글 참조 .)

IE8에는 IE5.5 쿼크 모드, IE7 표준 모드, IE8 준표준 모드, IE8 표준 모드의 4가지 모드가 있습니다. 모드 선택은 문서 유형, 메타 요소, HTTP 헤더, Microsoft의 정기적인 다운로드 데이터, LAN 도메인, 사용자 설정, LAN 관리자가 설정한 설정, 상위 프레임 모드(해당하는 경우) 등 여러 소스의 데이터에 따라 달라집니다. 모두) 사용자가 트리거하는 주소 표시줄 보기 버튼과 호환됩니다. (엔진에 내장된 다른 앱의 경우 내장된 앱에 따라 모드도 달라집니다.)

다행히 IE8은 일반적으로 다음과 같은 경우 다른 브라우저처럼 문서 유형 스니핑을 사용합니다.

  • 작성자가 X-UA 호환 HTTP 헤더를 설정하지 않았습니다
  • 작성자가 X-UA 호환 메타태그를 설정하지 않았습니다
  • Microsoft는 이 사이트의 도메인 이름을 블랙리스트에 추가하지 않았습니다.
  • LAN 관리자가 이 사이트를 블랙리스트에 등록하지 않았습니다.
  • 사용자가 호환성 보기 버튼을 누르지 않았습니다(또는 특정 사용자 블랙리스트에 추가되었습니다)
  • 이 사이트는 LAN 도메인에 속하지 않습니다
  • 사용자가 IE7에서 모든 사이트를 표시하도록 선택하지 않았습니다.
  • 프레임을 통해 페이지가 호환 모드 페이지에 삽입되지 않습니다

위의 X-UA-Compatible과 관련된 두 가지 경우를 제외하면 IE8은 IE7과 마찬가지로 문서 유형 스니핑을 수행합니다. IE7 에뮬레이션을 호환성 보기라고 합니다.

X-UA-Compatible의 경우 IE8은 다른 브라우저와 완전히 다르게 동작합니다. 이 페이지에서 부록이나 PDF, PNG 형식의 흐름도를 보고 싶습니다.

안타깝게도 X-UA 호환 HTTP 헤더나 메타 태그가 없으면 적절한 doctype이 있어도 IE8에서는 사용자가 실수로 IE8의 표준 모드에서 에뮬레이션 IE7 표준 모드인 IE7 모드로 페이지를 다운그레이드할 수 있습니다. 더 나쁜 것은 LAN 관리자도 이 작업을 수행할 수 있다는 것입니다. Microsoft는 귀하가 사용하는 모든 도메인 이름을 블랙리스트에 추가할 수도 있습니다.

이러한 효과를 처리하려면 doctype만으로는 충분하지 않으며 X-UA 호환 HTTP 헤더와 메타 태그가 필요합니다.

다음은 다른 브라우저에서 표준 모드 또는 준표준 모드를 ​​트리거하는 문서 유형이 이미 있는 새 text/html 문서에 대해 X-UA 호환 HTTP 헤더 또는 메타 태그를 선택하는 방법에 대한 간단한 가이드입니다.

귀하의 도메인은 Microsoft의 블랙리스트에 없으며 사용자가 IE7 동작으로 되돌아갈 수 없도록 하는 것보다 브라우저 관련 문제를 일으키지 않는 것에 더 관심이 있습니다.
X-UA 호환 HTTP 헤더나 메타 태그를 포함할 필요는 없습니다.
귀하의 도메인 이름이 Microsoft의 블랙리스트에 있습니다. 귀하의 도메인 이름에 있는 다른 작성자가 사이트를 손상시켰거나 사용자가 전체 도메인에 대한 호환성 보기를 활성화했기 때문에 Google 또는 Digg가 프레임을 사용하여 사이트를 삽입하는 것에 대해 걱정하고 계십니다. 또는 사용자가 호환 가능한 보기를 사용할 수 없도록
먼저 페이지에 다음 메타 요소를 포함하십시오(HTML5에서는 불법입니다) (스크립트 요소 앞), 또는 다음 HTTP 헤더를 설정하십시오: IE8에서
깨기 먼저, 페이지에 다음 메타 요소를 포함시키십시오. HTML5)
(스크립트 요소 앞) 또는 다음 HTTP 헤더를 설정합니다.
관련링크

Eric Meyer는

문서 유형 스니핑을 XML로 가져오지 마세요.

Doctype 스니핑은 태그 차우더 문제를 해결하기 위한 태그 차우더와 유사한 접근 방식입니다. Doctype 스니핑은 작성자가 예상한 동작을 준수하는 문서와 오래된 문서를 구별하는 HTML4 및 CSS2 사양 출시 이후에 설계된 경험적 방법입니다.

가끔 XML에서 문서 유형 스니핑을 사용하여 다양한 처리 일정을 예약하고 사용 중인 어휘를 식별하거나 기능을 활성화하는 것이 좋습니다. 이것은 나쁜 생각입니다. 예약 및 어휘 식별은 네임스페이스를 기반으로 해야 하며 기능 활성화는 명시적인 처리 지침이나 요소를 기반으로 해야 합니다.

잘 구성된 형식의 전체 아이디어는 DTD 없는 XML 구문 분석을 도입하고 문서 유형 없는 문서를 장려하는 것입니다. 두 개의 XML 문서가 동일한 표준 형식을 갖고 애플리케이션이 이를 다르게 처리하는 공식적인 경우(차이는 외부 엔터티를 처리할 선택의 부족으로 인한 것이 아님) 애플리케이션이 손상될 수 있습니다. 실제로 두 개의 XML 문서로 인해 동일한 콘텐츠가 SAX2

콘텐츠 핸들러

에 보고되고(qnames 무시) 애플리케이션이 문서를 다르게 처리하는 경우 애플리케이션이 손상될 수 있습니다. 웹 작성자로서 모든 사람이 자신의 페이지를 구문 분석하기 위해 추가 엔터티를 확인하는 XML 프로세서를 사용할 것이라는 점을 신뢰할 수 없다는 점을 고려하면(일부 브라우저는 특정 공개 식별자를 잘린 엔터티 정의 DTD에 매핑하기 때문에 그렇게 하는 것처럼 보이지만), 삽입 웹용 XML에 대한 문서 유형은 무의미하며 종종 화물 문화 습관으로 이어집니다. (W3C 유효성 검사기에서는 결과가 일시적으로만 유효하다고 말하지만 여전히 W3C 유효성 검사기의 DTD 재정의 기능을 사용하여 DTD를 유효성 검사합니다. 또는 더 나은 방법은 유효성 검사 를 사용하여 NG를 완화할 수 있다는 것입니다. 이는 스키마에서 참조하는 문서를 오염시키지 않습니다. ) 스니핑을 위해 문서 유형을 요구하는 것은 HTML 실행의 해결 방법이라 할지라도 매우 어리석은 일입니다.

또한 하위 사양이 두 가지를 동일하게 정의하는 경우 상위 사양에서는 서로 다른 의미를 부여하려고 해서는 안 됩니다. . 공개 식별자를 제거해도 동일한 DTD가 계속 지정되므로 doctype 은 이전 doctype과 같은 의미입니다. 냄새를 다르게 맡아야 할까요? 더 이론화할 수 있습니다. foobar.dtd라는 DTD가 example.com에 복사되었다고 가정합니다: . 이것을 냄새 맡는 방법? 같은 의미여야 합니다. 전체 DTD도 문서에 첨부할 수 있습니다.

즉, #include "foo.h"가 있는 경우 foo.h라는 이름에 어떤 흑마술도 묶어서는 안 됩니다. foo.h의 내용을 문서에 복사하거나 foo를 복사할 수 있어야 하기 때문입니다. h를 bar.h에 넣고 #include "bar.h"를 의미합니다.

HTML과 SGML이 동일한 매개변수를 구성하는 것에 대해 걱정하지 않는 이유는 웹 브라우저가 HTML을 구문 분석하는 데 실제 SGML 파서를 사용하지 않기 때문입니다. 따라서 SGML인 척하는 것은 유용하지 않다고 생각합니다. 어쨌든, 아직 확신하지 못하신다면 여기 W. Eliot Kimber의 comp.text.sgml

기사를 읽어보세요.

부록: text/html에서 일부 문서 유형을 처리하는 방법

아래 표에서 쿼크 모드, 표준 모드, 준표준은 각각 Q, S, A로 표시됩니다. 브라우저에 두 가지 모드만 있는 경우, 테이블 셀의 행 높이가 Mozilla의 표준 모드와 일치하면 표준 모드는 "S"로 표시됩니다. 테이블 셀의 행 높이가 Mozilla의 준표준 모드와 일치하면, 그런 다음 "A"로 표시됩니다.

XML 콘텐츠 모델을 사용하여 제공되는 XHTML은 XML 모드로 렌더링됩니다.

이 표의 목적은 표의 모든 문서 유형이 새 페이지에 대한 합리적인 선택이라고 말하는 것이 아닙니다. 이 표의 목적은 내 권장 사항이 어떤 데이터를 기반으로 하는지 표시하는 것입니다.

열 헤더에는 다음 약어 기호가 사용됩니다.

NS6
Mozilla 0.6…0.9.4 및 Netscape 6.0…6.2.3
Old Moz
Mozilla 0.9.5~1.1 알파 및 Mozilla 1.0
Moz & Safari & Opera 10 & HTML5
Mozilla 1.0.1, Mozilla 1.1 베타 이상, Firefox에서 Netscape 7, Safari 0.9에서 Safari 4.0 베타, Opera 10, Chrome, Konqueror 3.5 , HTML5 지정 동작
Opera 9.0
Opera 9.0…9.20
IE 8 및 Opera 9.5
X-UA 호환 없음 및 호환 모드가 기본값을 재정의함 IE8(이 경우 "A"는 IE8 준표준 모드를 ​​의미), Opera 7.5…8.54 및 9.5…9.6
IE 7 및 Opera 7.10
IE7, 호환 모드 및 X가 없는 IE8- UA 호환 범위(이 경우 "A"는 IE7 모드를 의미) 및 Opera 7.10…7.23
IE 6 및 Opera 7.0
Windows IE 6 및 Opera 7.0… 7.03
Mac IE 5
Mac IE 5.0…5.2.3
Konq 3.2
Konqueror 3.2.2…3.3(3.1…3.2 .1도 포함될 수 있음) 아직 확실하지 않음)

문서 유형 NS6 올드 모즈 Moz & Safari & Opera10 & HTML5 오페라9.0 IE8 및 Opera9.5 IE7 및 Opera7.10 IE6 및 Opera7.0 맥 IE5 Konq3.2
없음 질문 질문 질문 질문 질문 질문 질문 질문 질문
">HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 질문 질문 질문 질문 질문 질문 질문 질문 질문
">HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
">HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> 질문
">HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/ html4/strict.dtd">
">HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
">HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 질문 질문 질문 질문 질문 질문 질문 질문 질문
">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 질문 질문 질문 질문 질문 질문 질문 질문 질문
">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR /html4/loose.dtd">
질문
">HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR /1999/REC-html401-19991224/loose.dtd">

 

질문 질문
">HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR /html4/loose.dtd">
질문 질문 질문 질문 질문
">
">
">html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-strict.dtd">
">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 질문
"> 질문 질문
"> 질문 질문
">version="1.0" 인코딩="UTF-8"?> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 질문 질문
">version="1.0" 인코딩="UTF-8"?> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

질문 질문
">HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN"> 질문 질문 질문 질문 질문 질문 질문
">HTML PUBLIC "ISO/IEC 15445:2000//DTD HyperText Markup
언어//EN">
질문 질문
">HTML PUBLIC "ISO/IEC 15445:1999//DTD HTML//EN"> 질문 질문 질문 질문 질문 질문
">HTML PUBLIC "ISO/IEC 15445:1999//DTD HyperText Markup
언어//EN">
질문
질문  

연혁

Moziila의 문서 유형 스니핑 코드는 2000년 10월, 2001년 9월, 2002년 6월에 크게 수정되었습니다. 이 문서에 설명된 Mozilla(및 Netscape 6.x) 빌드의 상태는 2000년 10월 19일 현재 ftp.mozilla.org에서 볼 수 있습니다. 이 문서에서는 Mozilla M18(및 Netscape 6.0 PR3)에서 문서 유형 스니핑이 작동하는 방식을 다루지 않습니다. Safari의 문서 유형 스니핑 코드도 첫 번째 공개 베타 버전 이후 크게 수정되었습니다. 이 문서에서는 0.9라고도 불리는 V73 이전 버전의 동작을 다루지 않습니다.

Konqueror 3.5 이전의 doctype 스니핑 코드는 Safari 초기 버전에서 나온 것 같습니다. Konqueror는 이제 Safari와 일치하며 문서 유형 스니핑 코드는 Mozilla에서 제공됩니다.

표에서 볼 수 있듯이 Opera의 문서 유형 스니핑은 IE와 유사한 것에서 Mozilla와 유사한 것으로 정기적으로 바뀌고 있지만 Opera 9.5와 9.6은 다시 돌아오는 중입니다. 동시에 Opera의 쿼크 모드 레이아웃 동작은 IE6의 쿼크 모드 에뮬레이션에서 Mozilla의 쿼크 모드로 전환되었습니다.

부록: IE8 모드 선택

시작: "X-UA 호환 메타?" 입력
X-UA 호환 메타?
IE=7: IE7 표준 사용
IE=EmulateIE7: "quirks or no doctype?(호환성 모드)"를 입력하세요.
IE=IE8 또는 IE=IE7 또는 IE=a 또는 IE=EmulateIE8 또는 no 또는 첫 번째 스크립트: "X-UA- Compatible"을 입력하세요. HTTP 헤더?"
IE=8 또는 IE=Edge 또는 IE=99 또는 IE=9.9: "준표준 모드?"를 입력합니다.
IE=5: 쿼크 모드(IE5. 5)
)"
IE=IE8 또는 IE=IE7 또는 IE=a 또는 IE=EmulateIE8 또는 없음: "모든 사이트 표시...사전 설정하시겠습니까?"를 입력합니다.
IE=8 또는 IE=Edge 또는 IE=99 또는 IE=9.9: "준표준 모드"를 입력하시겠습니까?
IE=5: 특수 모드(IE5.5) 사용
Quacks 모드 또는 문서 유형 없음(호환성 모드)
예: 특수 모드 사용(IE5.5)
아니요: IE7 표준 모드 사용
모든 사이트 표시... 사전 설정 ?
예: "quirks mode or no doctype?(호환성 모드)"를 입력합니다.
아니요: "LAN 사이트 표시...사전 설정?"을 입력합니다.
LAN 사이트 표시. ..사전 설정이요?
예: "사이트가 LAN 도메인에 있습니까?"를 입력합니다.
아니요: "도메인 이름이 Microsoft에서 관리하는 목록에 있습니까?"를 입력합니다.
도메인 이름이 Microsoft에서 관리하는 목록에 있습니까?
예: "Quirk mode or no doctype?(호환 모드)"를 입력합니다.
아니요: "호환 모드 페이지가 있는 프레임에 포함하시겠습니까?"를 입력합니다.
호환 모드 페이지 포함 프레임으로?
예: "Quirk 모드 또는 문서 유형 없음?(호환성 모드)"로 이동
아니요: "호환성 모드 버튼을 눌렀습니까?"로 이동
호환성 모드 버튼을 눌렀습니까?
예: "quirks mode or no doctype?(호환성 모드)"를 입력합니다.
아니요: "quirks mode or no doctype?(IE8)"을 입력합니다.
Quirks 모드 또는 문서 유형 없음(IE8)
예: "쿼크 모드 사용(IE5.5)"을 입력합니다.
아니요: "준표준 모드"를 입력합니까?
방법?
예: IE8 준표준 모드 사용
아니요: IE8 표준 모드 사용
이러한 단계는
PDF
PNG

형식의 순서도로 볼 수 있습니다. 감사합니다 다양한 오페라 버전의 패턴 시트를 수정하는 데 도움을 주고 의견을 주신 Simon Pieters, Simon Pieters 및 Anne van Kesteren에게 감사드립니다. 또 다른 IE8 순서도를 만들어 주신 Simon Pieters에게 감사드립니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.