Что означает polyfills в HTML5?
Что означает polyfills в HTML5? Я видел это слово на многих сайтах о HTML5, например,HTML5-Кросс-браузер-поля.
Итак, здесь мы собираем все прокладки, резервные и полифиллы чтобы имплантировать функциональность HTML5 в браузеры, которые не поддерживает их.
Я на самом деле не понял, что означает polyfills.
Это новый метод HTML5 или библиотека JavaScript? Я никогда слышал это слово до HTML5.
и в чем разница между прокладками, резервными и многополюсниками?
4 ответов
polyfill-это резервный браузер, выполненный в JavaScript, который позволяет функциональности, которую вы ожидаете работать в современных браузерах, работать в старых браузерах, например, для поддержки canvas (функция HTML5) в старых браузерах.
Это своего рода метод HTML5, так как он используется в сочетании с HTML5, но он не является частью HTML5, и вы можете иметь polyfills без HTML5 (например, для поддержки методов CSS3, которые вы хотите).
во-первых, давайте проясним, что такое polyfil: polyfill не является частью стандарта HTML5. Также polyfill не ограничивается Javascript, хотя вы часто видите, что polyfills упоминается в этих контекстах.
сам термин polyfill относится к некоторому коду, который "позволяет вам иметь определенную функциональность, которую вы ожидаете в текущих или "современных" браузерах, чтобы также работать в других браузерах, которые не имеют поддержки этой функции, встроенной. "
источник и пример polyfill здесь:
http://www.programmerinterview.com/index.php/html5/html5-polyfill/
polyfill-это фрагмент кода (или плагин), который предоставляет технологию, которую вы, разработчик, ожидаете от браузера.
полифилл-это прокладка, которая заменяет исходный вызов с вызовом на прокладку.
например, скажем, вы хотите использовать навигатор.mediaDevices объект, но не все браузеры поддерживают это. Вы можете представить себе библиотеку, которая предоставляет прокладку, которую вы можете использовать следующим образом:
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
в этом случае вы явно вызываете прокладку вместо использования исходного объекта или метода. С другой стороны, polyfill заменяет объекты и методы на исходный объект.
например:
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
в вашем коде это выглядит так, как будто вы используете стандартный навигатор.объект mediaDevices. Но на самом деле, polyfill (адаптер.js в Примере) заменил этот объект своим собственным.
тот, который он заменил его, - это прокладка. Это позволит определить, поддерживается ли функция изначально и использовать ее, если это так, или она будет работать вокруг нее с помощью других API, если это не так.
таким образом, polyfill является своего рода" прозрачная " прокладка. Вот что имел в виду Реми Шарп (придумавший этот термин), говоря:"Если вы удалили скрипт polyfill, ваш код будет продолжать работать без каких-либо изменений, необходимых, несмотря на удаление polyfill".