2011-01-11 2 views
2

다음 DOCTYPE를 정의한 웹 사이트에서 작업하고 있습니다.IE6가 DOCTYPE을 잘못된 것으로 변경 함

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

IE6에서 해당 웹 사이트에 액세스하면 DOCTYPE이 마술처럼 변경됩니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> 

그리고 .. Ok - 괜찮아 보이는군요.하지만 여기에 요점이 있습니다. 한 페이지 만 DOCTYPE로 변경되었습니다.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

나는 참을 수 없습니다.

XHTMLHTML 4.01HTML 4.0으로 변경 한 이유는 무엇입니까?

IE6에서 DOCTYPEXHTML 또는 HTML 4.01로 강제 변환하려면 어떻게합니까?

+0

아마 IE6가 XHTML *을하지 않는다는 사실과 관련이 있을지 모릅니다. IE는 아직 XHTML을 지원하지 않습니다. 그것은 당신이 그것을 태그 수프 먹이로 고려할 수있는만큼 잘 대처하고있어. – cHao

+0

모든 웹 사이트에서'DOCTYPE'을 IE6가 지원하는'HTML 4.0.1'으로 바꾸면 (그럴까요?), 그 한 페이지에서'DOCTYPE'을'HTML 4.0'으로 변경합니다. – hsz

+0

4.0.1 또는 4.01? 완전히 다른 것들, 아니요, IE는 4.0.1에 대해 아무것도 모릅니다. 다른 브라우저도 마찬가지입니다. – cHao

답변

1

이유는 예상치 못한이었다.

0

브라우저는 페이지 만 표시하며 원래 페이지는 수정하지 않습니다.

질문을 이해하는 유일한 방법은 "페이지를 다른 이름으로 저장"을하고 IE가 저장 한 페이지가 다운로드 한 페이지와 다른 이유가 궁금 할 때입니다. 이 경우 브라우저가 페이지를 일종의 내부 표현으로 변환하여 처리하기 쉽고 "페이지를 다른 이름으로 저장"하면 해당 내부 표현을 다시 HTML로 변환합니다. (예 : 별도의 CSS 파일이 아니라 CSS가 포함 된) 단일 파일을 저장하고, 저장된 파일에 수정되지 않은 원래의 마크 업이 아닌 올바른 마크 업이 있는지 확인하십시오.

만약 이것이 '보기 -> 페이지 소스'로 이동하고 대신 &을 붙여 넣으십시오.

+0

이전에 해 보았습니다. HTML 4.01에서 CSS가 훌륭하다는 것을 알았습니다. 그러나 나는 왜 그것이 한 페이지에서'DOCTYPE'을'HTML 4.0'으로 바꾸는 지 모르겠습니다. – hsz

+0

Ok - 그게 상황을 좀 더 혼란스럽게 만듭니다. CSS를 확인하려면 http://jigsaw.w3.org/css-validator/를 사용하십시오. 페이지 마크 업 등을 확인하려면 http://validator.w3.org/를 사용하십시오. 어리석은 일을하고 바보 같다고 불평하면 http://stackoverflow.com/을 사용하십시오. :-) – Brendan

0

doctype의 유일한 중요한 기능은 브라우저를 표준 준수 모드로 강제 설정하는 것입니다. doctype이 없다면 구형 브라우저는 Quirks 모드로 들어갑니다. doctype을 사용하면 (어느 것이 든 상관없이) 브라우저는 표준 모드로 전환됩니다.

따라서 실제로 어떤 것을 사용하든 상관 없습니다.

XHTML doctype은 XHTML 규격을 준수하려고 시도하지만 분명히 XHTML을 올바르게 지원하는 브라우저에서만 볼 수 있습니다. IE6는 여기에서 문제가 될 수 있습니다. 물론 XHTML을 지정하면 에 대한 오류가 전혀 발생하지 않으므로 오류가 발생하거나 페이지가 렌더링되지 않습니다.

그 외에도 다양한 doctypes 중에서 선택해야 할 것이별로 없기 때문에, 제 제안은 HTML5 doctype 인 가장 최신의 것을 제안하는 것입니다.

에서 HTML5 DOCTYPE은 다음과 같습니다 전부

<!DOCTYPE html> 

합니다. 짧고, 간단하고 요점. 현재의 모든 브라우저 (IE6 포함)에 대한 작업을 수행합니다.

이것은 HTML5 기능을 사용해야 함을 의미하지는 않지만 (분명히 IE6이 작동하지 않음) 완전한 역 호환이 가능하므로 이상한 브라우저 관련 문제를 제공해서는 안됩니다 다른 doctypes.

희망이 있습니다.

HTML 주석 <html> 태그는 페이지의 문서 타입의 자동 변화를 야기하기 전에 배치 :

관련 문제