HTML5에서 폴리필의 의미는 무엇입니까?
HTML5에서 폴리필의 의미는 무엇입니까? 저는 HTML5에 관한 많은 사이트에서 이 단어를 보았습니다. 예를 들어 HTML5-크로스-브라우저-폴리필즈입니다.
여기서는 심, 폴백 및 폴리필을 모두 수집하여 HTML5 기능을 네이티브로 지원하지 않는 브라우저에 이식합니다.
사실 폴리 매립지의 의미를 잘 모르겠어요.
새로운 HTML5 기술입니까, 아니면 JavaScript 라이브러리입니까?HTML5 이전에는 이 단어를 들어본 적이 없습니다.
그리고 심, 폴백, 폴리필드의 차이점은 무엇일까요?
폴리필은 JavaScript로 만들어진 브라우저 폴백으로, 예를 들어 오래된 브라우저에서 캔버스(HTML5 기능)를 지원하는 등 최신 브라우저에서 사용할 수 있는 기능을 제공합니다.
HTML5와 함께 사용되지만 HTML5의 일부가 아니며 HTML5를 사용하지 않고도 폴리필을 사용할 수 있습니다(예를 들어 CSS3 기술을 지원하는 경우).
여기 좋은 글이 있습니다.
http://remysharp.com/2010/10/08/what-is-a-polyfill/
다음은 폴리필과 심의 포괄적인 목록입니다.
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
먼저 폴리필이 무엇인지 명확히 설명하겠습니다.폴리필은 HTML5 표준의 일부가 아닙니다.폴리필은 Javascript에 한정되지 않습니다.다만, 폴리필은 이러한 맥락에서 자주 참조되고 있습니다.
polyfill이라는 용어 자체는 "현재 또는 "현대" 브라우저에서 기대하는 특정 기능을 사용할 수 있도록 허용하는 일부 코드를 말합니다. 이 기능은 내장되어 있지 않은 다른 브라우저에서도 사용할 수 있습니다."
폴리필의 소스 및 예는 다음과 같습니다.
http://www.programmerinterview.com/index.php/html5/html5-polyfill/
폴리필은 개발자인 사용자가 브라우저가 기본적으로 제공하기를 기대하는 기술을 제공하는 코드(또는 플러그인)입니다.
폴리필은 원래 콜을 심 콜로 대체하는 심입니다.
예를 들어 navigator.mediaDevices 개체를 사용하지만 일부 브라우저는 지원하지 않습니다.다음과 같이 사용할 수 있는 심을 제공하는 라이브러리를 상상할 수 있습니다.
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
이 경우 원래 객체 또는 메서드를 사용하는 대신 명시적으로 심을 호출합니다.반면 폴리필은 원래 객체의 객체와 메서드를 대체합니다.
예를 들어 다음과 같습니다.
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
코드에서는 표준 navigator.mediaDevices 개체를 사용하고 있는 것처럼 보입니다.그러나 실제로는 polyfill(이 예에서는 adapter.js)이 이 오브젝트를 자신의 오브젝트로 대체했습니다.
그것을 대체한 것은 심입니다.이 기능은 네이티브로 지원되는지 여부를 검출하여 사용할지, 지원되지 않는 경우 다른 API를 사용하여 기능합니다.
폴리필은 일종의 "투명한" 심입니다.그리고 이것이 Remy Sharp(이 용어를 만든 사람)가 "폴리필 스크립트를 삭제해도 코드는 계속 작동하며 폴리필이 제거되더라도 변경은 필요하지 않습니다."라고 말한 것의 의미입니다.
웹 개발에서 폴리필은 기능을 지원하지 않는 웹 브라우저에 기능을 구현하는 코드입니다.보통 HTML5 또는 CSS 웹 표준을 구현하는 JavaScript 라이브러리를 가리킵니다.이 규격은 기존의 브라우저에 의해 확립된 표준(일부 오래된 브라우저에 의해 지원됨) 또는 제안된 표준(어느 브라우저에도 지원되지 않음) 중 하나입니다.정의에 따르면 폴리필은 브라우저 API를 위한 심입니다.
HTML5 표준에는 폴리필이 포함되어 있지 않습니다.폴리필은 Javascript에 한정되지 않지만, 이러한 맥락에서 자주 언급됩니다.
다음은 다른 답변 외에 도움이 될 수 있는 일반적인 의견과 정보입니다.
폴리필은 특정 브라우저에 대한 호환성 패치입니다.심은 특정 주장에 대한 변경입니다.@mediaquery가 브라우저와 호환되지 않는 경우 폴백을 사용할 수 있습니다.
어떤 앱/웹 사이트와 호환성이 있는지에 따라 달라집니다.
이 사이트에서 특정 라이브러리와 특정 브라우저의 호환성을 확인합니다.https://caniuse.com/
언급URL : https://stackoverflow.com/questions/7087331/what-is-the-meaning-of-polyfills-in-html5
'programing' 카테고리의 다른 글
MySQL 테이블, 인덱스 및 데이터 복제 (0) | 2022.10.11 |
---|---|
SELECT 실행 중...위치..."MySQLdb를 사용하여 입력..." (0) | 2022.10.11 |
Chart.js에서 차트의 높이를 설정합니다. (0) | 2022.10.11 |
Axios: 네트워크 오류가 발생하여 요청을 전송하지 않음 (0) | 2022.10.11 |
scanf에서 솔루션 세그먼트 결함의 경우 (0) | 2022.10.11 |