todas son lista las etiquetas elementos ejemplos cuales atributos javascript html5 fallback polyfills shim

javascript - son - ¿Cuál es el significado de polyfills en HTML5?



lista de etiquetas html (4)

¿Cuál es el significado de polyfills en HTML5? Vi esta palabra en muchos sitios sobre HTML5, por ejemplo, HTML5-Cross-Browser-Polyfills.

Así que aquí estamos recogiendo todos los shims, fallbacks y polyfills para implantar la funcionalidad HTML5 en los navegadores que no los admiten de forma nativa.

En realidad no entendí cuál es el significado de polyfills.

¿Es una nueva técnica HTML5 o una biblioteca de JavaScript? Nunca escuché esta palabra antes de HTML5.

¿Y cuál es la diferencia entre calzos, fallas y rellenos de polietileno?


En primer lugar, aclaremos lo que no es un polyfil: un polyfill no es parte del estándar HTML5. Un polyfill tampoco se limita a Javascript, aunque a menudo se ve que se hace referencia a polyfills en esos contextos.

El término polyfill en sí mismo se refiere a algún código que "le permite tener alguna funcionalidad específica que espera que los navegadores actuales o" modernos "también funcionen en otros navegadores que no tienen el soporte para esa funcionalidad incorporada".

Fuente y ejemplo de polyfill aquí:

http://www.programmerinterview.com/index.php/html5/html5-polyfill/


Un polyfill es un respaldo del navegador, hecho en JavaScript, que permite que la funcionalidad que espera que funcione en los navegadores modernos funcione en los navegadores más antiguos, por ejemplo, para admitir el lienzo (una característica de HTML5) en los navegadores más antiguos.

Es una especie de técnica de HTML5, ya que se usa en conjunto con HTML5, pero no es parte de HTML5, y puedes tener polyfills sin tener HTML5 (por ejemplo, para admitir las técnicas CSS3 que desees).

Aquí hay un buen post:

http://remysharp.com/2010/10/08/what-is-a-polyfill/

Aquí hay una lista completa de Polyfills y Shims:

https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills


Un polyfill es una cuña que reemplaza la llamada original con la llamada a una cuña.

Por ejemplo, supongamos que desea utilizar el objeto navigator.mediaDevices, pero no todos los navegadores lo admiten. Podrías imaginar una biblioteca que proporcionara un calzo que podrías usar así:

<script src="js/MediaShim.js"></script> <script> MediaShim.mediaDevices.getUserMedia(...); </script>

En este caso, está llamando explícitamente a un shim en lugar de utilizar el objeto o método original. El polyfill, por otro lado, reemplaza los objetos y métodos en los objetos originales.

Por ejemplo:

<script src="js/adapter.js"></script> <script> navigator.mediaDevices.getUserMedia(...); </script>

En su código, parece que está utilizando el objeto estándar navigator.mediaDevices. Pero en realidad, el polyfill (adapter.js en el ejemplo) ha reemplazado este objeto por uno propio.

El que lo ha reemplazado es una calza. Esto detectará si la característica es compatible de forma nativa y la usará si es así, o si no, funcionará con otras API.

Así que un polyfill es una especie de calza "transparente". Y esto es lo que Remy Sharp (quien acuñó el término) quiso decir al decir " si eliminó el script de polyfill, su código continuaría funcionando, sin que sea necesario realizar ningún cambio a pesar de que se eliminó el polyfill ".


Un polyfill es una pieza de código (o complemento) que proporciona la tecnología que usted, el desarrollador, espera que el navegador proporcione de forma nativa.