Qual é o Significado de polifills em HTML5?
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?
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
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/
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.
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".