WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Полифил или Полифилл (англ. Polyfill) в веб-программировании это код, реализующий какую-либо функциональность, которая не поддерживается в некоторых версиях веб-браузеров. Обычно представляет собой библиотеку JavaScript, которая реализует поддержку веб-стандарта HTML5 в версиях браузеров, где поддержка этих функций частично или полностью отсутствует. Это обеспечивает более-менее единообразное отображение веб-страниц в разных веб-браузерах[1].

Происхождение термина

Термин был придуман Реми Шарпом (англ. Remy Sharp) в 2009 году во время работы над книгой «Введение в HTML5», как подходящее слово, с которым можно ассоциировать моделирование API с использованием JavaScript (или Flash, либо чего-нибудь другого), для веб-браузера, у которого не предусмотрен таковой изначально.

«Poly-» (от греч. Polloi — много) говорит о привлечении любого числа технологий, то есть с поставленной задачей можно справиться не только посредством JavaScript, а вторая часть «-fill» (англ. fill — наполнять, заполнять) подразумевает заполнение той «дыры» браузера, в которой и должна находиться реализуемая таким образом технология.

Кроме того, в строительной отрасли известна шпаклёвка «Polyfilla». По мнению автора термина, ассоциация с заделыванием трещин и дыр в стенах вполне подходит для визуализации того, как полифилы в веб-программировании «ремонтируют» браузер[2].

Назначение

Полифилы позволяют исправлять ошибки в конкретном API или добавлять в веб-браузер функциональность, которая частично или полностью им не поддерживается. Полифилы не создают лишних зависимостей и могут быть легко удалены, когда они больше не нужны. Использование полифилов отлично зарекомендовало себя и широко применяется в тех случаях, когда необходимо повысить функциональность старых (а иногда и новых) браузеров до желаемого уровня.

Примеры

HTML5 Shiv
Обеспечивает отображение элементов HTML5 в Internet Explorer 6-8, Safari 4.x, Firefox 3.x. и др. и позволяет оформлять их надлежащим образом с помощью CSS.
Flexie
Обеспечивает кросс-браузерную поддержку Flexible Box Module, которая позволяет верстать страницы со сложной компоновкой блоков быстрее, легче и удобней, чем с использованием плавающих элементов.
Webshims Lib
Библиотека, после подключения которой, при просмотре веб-страниц в браузере IE 9-й версии и ниже, начинают работать элементы форм HTML5 таких типов как date, range, color и другие.
Selectivizr
Используется для обработки CSS3 селекторов в IE 8-й версии и ниже в сочетании с JavaScript библиотеками, такими как jQuery или MooTools.
CSS3 PIE
PIE (Progressive Internet Explorer) реализует некоторые из наиболее популярных свойств CSS3 в веб-браузерах IE.
es5shim
Обеспечивает поддержку в старых браузерах IE практически всех функции, которые были утверждены в спецификации ECMAScript 5.
MediaElement.js
Обеспечивает поддержку во всех браузерах, в том числе мобильных, воспроизведение аудио- и видеоконтента. При использовании этого полифила, даже в тех браузерах, которые не понимают разметку HTML5, отображается альтернативный вариант плеера, использующий Flash.
FlashCanvas
Позволяет старым версиям Internet Explorer работать с Canvas (HTML). Один из немногих полифилов, который представлен, в том числе, расширенной платной версией.
Storage Polyfill
В старых версиях браузеров, где отсутствует поддержка Web Storage, позволяет сохранить функциональность, используя Cookie.

Примечания

  1. Modernizr Documentation. (англ.)
  2. Шарп, Реми What is a polyfill?. (англ.)

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии