2012-09-22 6 views
2

인터넷 익스플로러에서 HTML5 작업을 수행하기 위해 HTML5 shiv JS script을 포함시키려는 사람들이 종종 보입니다. 그러나이 문제는 가장 일반적인 사용 사례에 대해서는 명확한 설명을 찾을 수 없습니다.HTML5 shiv/shim JS 스크립트의 가장 일반적인 사용 사례

아무나 이 JS 스크립트가 필요한 시나리오를 제공 할 수 있습니까?

또한 <head>에 있어야하나요, 아니면 <body> 태그의 맨 아래에있는 나머지 JS와 함께 UI 스레드를 차단할 수 있습니까?

+1

여기에 귀하의 질문에 답변 할 수있는 링크가 있습니다. http://stackoverflow.com/questions/8275580/modernizr-vs-html-shiv http://www.themightymo.com/2012/03/23/how-to-include-html-shiv-properly/ – hagensoft

답변

4

버전 9 이전의 Internet Explorer는 인식 할 수없는 HTML 요소에 CSS 스타일을 적용하기를 거부합니다. 여기에는 HTML5에서 가져온 새로운 요소가 포함됩니다. JavaScript DOM을 통해 요소를 작성하면 요소가 실제로 스타일을 지정해야한다는 것을 갑자기 그리고 마술처럼 인식하게됩니다.

document.createElement(tagName)을 호출하려는 HTML5 태그 이름 배열을 반복하는 간단한 스크립트를 작성할 수 있습니다. 이것은 대부분의 경우 작동하지만 IE에서 HTML5 페이지를 인쇄하고 innerHTML을 통해 HTML5 컨텐트를 추가하면 더 많은 문제가 발생할 것이며 그 시점에서 shiv로 전환하는 것이 좋습니다.

HTML5 shiv는 원하는 경우 머리 속에 배치하거나 body 태그 뒤에 배치 할 수 있습니다. IE 만로드하도록 조건부 주석을 사용하는 것이 좋습니다.

+1

- @ Stuart, IE의 어떤 버전이 HTML5 요소를 스타일링 할 수 없습니까? 그 질문에 답을 추가 하시겠습니까? –

+1

답변을 업데이트했습니다. –