Что означает полифиллы в HTML5? Я видел это слово на многих сайтах о HTML5, например, HTML5-Cross-Browser-Polyfills.
Итак, здесь мы собираем все прокладки, запасные варианты и полифиллы, чтобы внедрить функциональность HTML5 в браузеры, которые их изначально не поддерживают.
Я на самом деле не понял, в чем смысл полифилов.
Это новая техника HTML5 или библиотека JavaScript? Я никогда не слышал это слово до HTML5.
И в чем разница между прокладками, откатами и полифиллами?
Ответы:
Polyfill - это резервный браузер, выполненный на JavaScript, который позволяет функционалу, который вы ожидаете работать в современных браузерах, работать в более старых браузерах, например, для поддержки canvas (функция HTML5) в старых браузерах.
Это своего рода техника HTML5, поскольку она используется в сочетании с HTML5, но она не является частью HTML5, и вы можете иметь полифилы без HTML5 (например, для поддержки техник CSS3, которые вы хотите).
Вот хороший пост:
http://remysharp.com/2010/10/08/what-is-a-polyfill/
Вот полный список Polyfills и Shims:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
источник
Прежде всего, давайте выясним, что такое полифил: полифил не является частью стандарта HTML5. Кроме того, полизаполнение не ограничивается Javascript, даже если вы часто видите, что полифилсы упоминаются в этих контекстах.
Сам термин polyfill относится к некоторому коду, который «позволяет вам иметь некоторые специфические функциональные возможности, которые, как вы ожидаете, в современных или« современных »браузерах будут работать и в других браузерах, в которых не встроена поддержка этой функции».
Источник и пример полифилла здесь:
http://www.programmerinterview.com/index.php/html5/html5-polyfill/
источник
Polyfill - это фрагмент кода (или плагин), который предоставляет технологию, которую вы, разработчик, ожидаете, что браузер предоставит изначально.
источник
Полифилл - это прокладка, которая заменяет исходный вызов вызовом прокладки.
Например, допустим, вы хотите использовать объект navigator.mediaDevices, но не все браузеры поддерживают это. Вы можете представить себе библиотеку, которая предоставляет прокладку, которую вы можете использовать так:
В этом случае вы явно вызываете шим вместо использования исходного объекта или метода. С другой стороны, полифилл заменяет объекты и методы исходных объектов.
Например:
В вашем коде это выглядит так, как будто вы используете стандартный объект navigator.mediaDevices. Но на самом деле, polyfill (в данном случае адаптер.js) заменил этот объект своим собственным.
Тот, которым это заменило это, является прокладкой. Он обнаружит, поддерживается ли эта функция изначально, и использует ее, если она есть, или будет обходить ее, используя другие API, если это не так.
Таким образом, полифилл - это своего рода «прозрачная» прокладка. И это то, что имел в виду Реми Шарп (который придумал этот термин), когда говорил: « Если вы удалите скрипт polyfill, ваш код продолжит работать без каких-либо изменений, несмотря на удаление polyfill ».
источник