2012-03-10 3 views
36

이 두 스크립트 라이브러리에 대한 사이트에는 많은 좋은 질문이 있습니다.html5shiv에 대한 Modernizr의 이점을 이해함

나는 그들 중 어느 누구도 찾을 수없는 것을 묻고 싶다.

Modernizrhtml5shiv이 제공하는 바를 즉각적으로 스크립트에 포함시키지 않습니다.

나는 단지 html5shiv를 알고있다. IE8의 HTML5 요소를 "그냥"수정했다. 거기서 멈추지 않을까?

Modernizr은 IE 탐색기에서 CSS3 문제를 해결합니까? ie9.js가 그렇게합니까? (이 특별한 질문을 코너 케이스를 처리하기위한 추가 js 코드없이 사용함)

Modernizr이 html5shiv와 비교할 때 스크립트를 포함하는 것 외에 라이브러리를 사용하면 어떤 이점이 있습니까?

+2

답변이 없지만, modernizr은 브라우저가 새로운 (CSS3/HTML5) 기능을 지원하는지 확인하는 데 자주 사용됩니다. 그런 다음 코드는 그렇지 않은 코드를 처리 할 수 ​​있습니다. 기본적으로 심 (shim)이거나 복잡한 버전 인 '폴리 필 (polyfills)'이라고 불리는 것을 가지고 있습니다. Modernizr이 html5shiv (shims의 관점에서)에 비해 무엇을 제공하는지 완전히 확신 할 수는 없지만 전반적으로 Modernizr은 종종 패치하기보다는 확인하는 데 사용됩니다. 어쩌면 내가 틀렸어.하지만 그건 내 생각이야. – Marshall

+0

http://blog.userinterfacemedia.com/modernizr-vs-html5shiv/ –

답변

51

다른 것들을합니다.

Modernizr은 페이지에서 기능의 가용성을 감지하여 이전 브라우저에 기능을 필요로 할 경우 고유 한 Polyfill을 제공 할 수 있습니다. <canvas> 태그를 지원하지 않는 브라우저에서 canvas 기능 (예 : JavaScript 인터페이스)을 사용할 수 있도록 캔버스 태그 polyfill을 사용하여 <canvas>에 대한 지원을 추가 할 수 있습니다.

Html5shiv는 이전 브라우저에 사용할 수없는 새로운 html5 태그 (<section>, <header> 등)를 추가합니다. 또한 기본 스타일 (예 : <section>의 경우 display: block)을 만듭니다.

그게 전부입니다. 다른 기능을 제공하지 않습니다.

+0

Modernizr은 IE의 CSS3 지원을 개선하기 위해 어떤 조치를 취합니까? – bevacqua

+5

아니요. 지원되는지 여부를 알려주는 것 외에는 아무 것도하지 않으며, 지원되지 않는 경우 polyfill을 제공하여 해당 기능을 브라우저에 추가 할 수있게합니다. 사용할 폴리올의 포괄적 인 목록은 https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills를 참조하십시오. – tkone

+0

그들은 실제로 서로에게 무료입니다 :) – tkone

37

Modernizr 1.5+에는 실제로 HTML5Shiv가 포함되어 있으므로 사용하는 경우 shiv가 중복됩니다. 출처 : http://modernizr.com/docs/#html5inie

"Modernizr 1.5 현재이 스크립트는 널리 사용되는 html5shim/html5shiv 라이브러리에서 사용되는 것과 동일합니다."

+2

"Modernizr 1.5 현재,이 스크립트는 인기있는 html5shim/html5shiv 라이브러리에서 사용 된 것과 동일합니다." – JGallardo

관련 문제