Qual é o Significado de polifills em HTML5?

Qual é o Significado de polifills em HTML5? Eu vi esta palavra em muitos sites sobre HTML5, por exemplo HTML5-Cross-Browser-Polifills.

Aqui estamos nós a recolher todos os shims, fallbacks e polifills. a fim de implantar a funcionalidade HTML5 em navegadores que não nativamente apoiá-los.

Na verdade, não entendo qual é o Significado de polifillas.

É uma nova técnica HTML5 ou uma biblioteca JavaScript? Nunca tinha ouvido esta palavra. HTML5.

E qual é a diferença entre shims, fallbacks e polifills?

Author: nullpointer, 2011-08-17

4 answers

Um polifill é um recurso de navegador, feito em JavaScript, que permite a funcionalidade que você espera trabalhar em navegadores modernos para trabalhar em navegadores mais antigos, por exemplo, para suportar tela (um recurso HTML5) em navegadores mais antigos.

É uma técnica HTML5, uma vez que é usada em conjunto com HTML5, mas não faz parte do HTML5, e você pode ter polifills sem ter HTML5 (por exemplo, para suportar as técnicas CSS3 que você quer). Aqui está um bom pós:

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

Aqui está uma lista completa de Polifills e Shims.

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

 316
Author: Calvin Froedge, 2016-10-04 18:54:52
Primeiro, vamos esclarecer o que um polifil não é: um polifil não faz parte do padrão HTML5. Também não é um polifill limitado ao Javascript, mesmo que muitas vezes você veja polifills sendo referidos nesses contextos.

O termo polifill em si refere-se a algum código que "permite que você tenha alguma funcionalidade específica que você espera em navegadores atuais ou "modernos" para também trabalhar em outros navegadores que não têm o suporte para essa funcionalidade incorporada. "

Fonte e exemplo de polifill aqui:

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

 50
Author: Jarvis, 2013-09-16 23:08:22

Um polifill é um pedaço de código (ou plugin) que fornece a tecnologia que você, o desenvolvedor, espera que o navegador forneça nativamente.

 18
Author: Ranjeet Mane, 2016-06-10 09:16:40

Um polifill é um shim que substitui a chamada original com a chamada para um shim.

Por exemplo, diga que quer usar o navegador.objeto mediaDevices, mas nem todos os navegadores suportam isso. Você poderia imaginar uma biblioteca que fornecesse um shim que você poderia usar assim:
<script src="js/MediaShim.js"></script>
<script>
    MediaShim.mediaDevices.getUserMedia(...);
</script>

Neste caso, você está explicitamente chamando um shim em vez de usar o objeto ou método original. O polifill, por outro lado, substitui os objetos e métodos no original objecto.

Por exemplo:

<script src="js/adapter.js"></script>
<script>
    navigator.mediaDevices.getUserMedia(...);
</script>
No seu código, parece que está a usar o navegador padrão.objecto mediaDevices. Mas na verdade, o polifill (adaptador.js no exemplo) substituiu este objeto por seu próprio objeto.

O que o substituiu é um shim. Isto irá detectar se o recurso é nativamente suportado e usá-lo se for, ou ele vai trabalhar em torno dele usando outras APIs se não for.

Então um polifill é uma espécie de shim" transparente". E isto é ... o que Remy Sharp (que cunhou o termo) significava ao dizer "Se você removesse o script polifill, seu código continuaria a funcionar, sem quaisquer mudanças necessárias, apesar do polifill ser removido".
 13
Author: Richard Shepherd, 2016-12-06 13:32:25