Polyfill

A webes programozás során a polifill, más néven shim , vagy akár emulációs protézis egy szoftveres megoldást jelöl meg, amely megvalósítja a programozási felület korábbi verzióiban hozzáadott funkcionalitás visszafelé való kompatibilitását . Ezek általában a funkciók halmaza, amelyeket legtöbbször JavaScriptben vagy Flash- ben írnak, és lehetővé teszik egy régi webböngészőben a funkciók szimulációját , amelyek natív módon nem érhetők el ott. Például a HTML5 és CSS polyfill funkciók elérése olyan böngészőkben, amelyek nem biztosítják ezeket a funkciókat.

Történelmi

A kifejezést Remy Sharp , brit programozó, vállalkozó és oktató hozta létre 2009-ben . A név a falazatok és a mindennapi tárgyak lyukainak kitöltésére szolgáló gyanta márkájáról , a Polyfilláról származik .

Példák

HTML5 Shiv

HTML5 Shiv használatával:

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

-prefix-mentes

<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

A 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-shim

<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>


Megjegyzések és hivatkozások

  1. Sébastien de la Marck, Johann Pardanaud, Fedezze fel a JavaScript nyelvét , Editions Eyrolles ,2017. február 2( online olvasás )
  2. "  Hixie természetes naplója: hibák, szomorúság, sajnálat  " , az ln.hixie.ch oldalon (megtekintve 2017. június 26. )
  3. "  Mi a különbség az alátét és a polifill között?  » , A stackoverflow.com webhelyen (megtekintve : 2017. június 26. )
  4. https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/of
  5. (in) Mi az a polifill? Remy Sharp blogján

Lásd is