Polyfill

V programování pro web , je polyfill také volal podložku , nebo dokonce emulace protéza označuje software obejít provádění zpětnou kompatibilitu s funkcionalitou přidané do programovací rozhraní v předchozích verzích tohoto rozhraní. Jedná se obecně o sady funkcí, nejčastěji napsané v JavaScriptu nebo Flash , které umožňují simulovat na starém webovém prohlížeči funkce, které tam nejsou nativně dostupné. Například přístup k funkcím polyfill HTML5 a CSS v prohlížečích, které tyto funkce neposkytují.

Historický

Termín vytvořil v roce 2009 britský programátor, podnikatel a lektor Remy Sharp . Název pochází od značky pryskyřice pro vyplňování otvorů ve zdivu a předmětů každodenní potřeby, Polyfilla .

Příklady

HTML5 Shiv

S HTML5 Shiv:

<!--[if lt IE 9]> <script src="path/to/html5shiv.js"></script> <![endif]-->

- bez předpony

<link rel="stylesheet" href="/css/styles.css"> <script src="/path/to/prefixfree.min.js"></script>

Selectivizr

<script type="text/javascript" src="/path/to/jquery.min.js"></script> <!--[if (gte IE 6)&(lte IE 8)]> <script type="text/javascript" src="/path/to/selectivizr-min.js"></script> <noscript><link rel="stylesheet" href="/path/to/fallback-styles.css" /></noscript> <![endif]-->

Flexie

<script src="/path/to/jquery.min.js"></script> <script src="/path/to/flexie.min.js"></script>

CSS3 PIE

V CSS3 PIE (Progressive Internet Explorer):

.box { border-radius: 8px 8px 0 0; box-shadow: #666 0px 2px 3px; behavior: url(/path/to/PIE.htc); }

JSON2.js

<script> if (!window.JSON) { document.write('<script src="path/to/json2.js"><\/script>'); } </script>

es5-podložka

<script src="/path/to/es5-shim.min.js"></script>

FlashCanvas

<!--[if lt IE 9]> <script src="/path/to/flashcanvas.js"></script> <![endif]-->

MediaElement.js

<link rel="stylesheet" href="/path/to/mediaelementplayer.min.css"> <script src="/path/to/jquery.js"></script> <script src="/path/to/mediaelement-and-player.min.js"></script>

Webshims Lib

<script src="/path/to/jquery.min.js"></script> <script src="/path/to/js-webshim/minified/extras/modernizr-custom.js"></script> <script src="/path/to/js-webshim/minified/polyfiller.js"></script> <script> // Load all supported polyfills, if the browser needs them: $.webshims.polyfill(); </script>


Poznámky a odkazy

  1. Sébastien de la Marck, Johann Pardanaud, Objevte jazyk JavaScript , Editions Eyrolles ,2. února 2017( číst online )
  2. „  Přirozený protokol Hixie: Chyby, smutek, lítost  “ , na ln.hixie.ch (přístup 26. června 2017 )
  3. „  Jaký je rozdíl mezi podložkou a polyfill?  » , Na stackoverflow.com (přístup 26. června 2017 )
  4. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/of
  5. (in) Co je to polyfill? na blogu Remy Sharp

Podívejte se také