Content deleted Content added
Fix: footnote number goes after comma. |
Add banner {{Cleanup bare URLs}}. After at least 7 passes by @Citation bot since 20220802 + more before then, this article still has 1 untagged bare URL ref |
||
Line 1:
{{short description|Code to implement features in web browsers that do not support them}}▼
{{other uses|Polyfill (disambiguation)}}
{{Cleanup bare URLs|date=August 2022}}
▲{{short description|Code to implement features in web browsers that do not support them}}
In [[web development]], a '''polyfill''' is code that implements a feature on [[web browser]]s that do not natively support the feature. Most often, it refers to a [[JavaScript]] [[Library (computing)|library]] that implements an [[HTML5]] or [[CSS]] [[web standard]], either an established standard (supported by some browsers) on older browsers, or a proposed standard (not supported by any browsers) on existing browsers. Formally, "a polyfill is a [[Shim (computing)|shim]] for a browser [[Application programming interface|API]]."<ref name="speakingjs">{{cite book|title=Speaking JavaScript |url=http://speakingjs.com/ |author=Luis Ángel Pérez Castillo |year=2019}}</ref>
Line 11 ⟶ 12:
The distinction that Sharp makes is:<ref name="introducing276"/>
{{
This distinction is not drawn by other authors.<ref name="speakingjs"/> At times various other distinctions are drawn between shims, polyfills, and fallbacks, but there are no generally accepted distinctions: most consider polyfills a form of shim.<ref>{{cite web |url=https://stackoverflow.com/questions/6599815/what-is-the-difference-between-a-shim-and-a-polyfill |title=What is the difference between a shim and a polyfill?}}</ref> The term ''polyfiller'' is also occasionally found.<ref>{{cite book|title=HTML5 Developer's Cookbook|author1=Chuck Hudson |author2=Tom Leadbetter |year=2011 |page=[https://books.google.com/books?id=No4hLcrmvw8C&pg=PT121&dq=polyfiller 121]}}</ref>
Line 17 ⟶ 18:
=== core-js ===
core-js<ref>{{Cite web|url=https://github.com/zloirock/core-js|title = Core-js|website = [[GitHub]]|date = 26 October 2021}}</ref> is the most popular<ref>{{Cite web|url=https://www.npmtrends.com/core-js-vs-core-js-pure-vs-es5-shim-vs-es6-shim-vs-airbnb-js-shims-vs-polyfill-library-vs-polyfill-service-vs-js-polyfills|title = Airbnb-js-shims vs core-js vs core-js-pure vs es5-shim vs es6-shim vs js-polyfills vs polyfill-library vs polyfill-service | NPM trends}}</ref> and powerful<ref>http://kangax.github.io/compat-table/es6/#babel7corejs3</ref> JavaScript [[standard library]] polyfill. Includes polyfills for [[ECMAScript]] up to 2021: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform [[WHATWG]] / [[W3C]] features and proposals like <code>URL</code>. You can load only required features or use it without global namespace pollution. It can be integrated with [[
=== HTML5 Shiv ===
Line 57 ⟶ 58:
=== BrowserID ===
{{Main articles|Mozilla Persona}}
Authentication protocol proposed by Mozilla, failed to gain traction.<ref>{{ cite web | title = navigator.id | url = https://developer.mozilla.org/en/DOM/navigator.id | publisher = Mozilla Developer Network | date = 30 June 2012 }}</ref>
=== Webshims Lib ===
|