Um pequeno script que permite apenas polirfilizar um recurso quando absolutamente necessário - sem solicitações desperdiçadas em navegadores com suporte nativo! ?
Este script é ~ 4,2kb UN minificado (121 linhas) (1,04 kb de unificado e gziped) , ~ 8,37kb UN minificado com comentários embutidos (121 linhas) (2,12kb Unificado e Gzipped) , ou ~ 1,9kb minificado (1 linha) (743b minificados e gzipped) , assim como ~ Fairly Light. ?
Consulte a implantação para obter notas sobre como implantar o projeto em um sistema ao vivo.
Certifique -se de saber em quais recursos seu script depende e poli -os que não são suportados nativamente nos navegadores que você suporta (você pode verificar https://caniuse.com/).
npm i dynamic-polyfiller import React from 'react' ;
import { render } from 'react-dom' ;
//The import below is the bit you need!
import dynamicPolyfill from 'dynamic-polyfiller' ;
dynamicPolyfill (
[ "IntersectionObserver" , "Object.assign" ] ,
'https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js' ,
'quicklink();'
) ;dynamicPolyfill(); Nota: sensível à caixa dynamicPolyfill( ["IntersectionObserver", "Object.assign"], 'https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'quicklink();' )
onLoad à tag chamando a função dynamicPolyfill() e passando seus parâmetrosstring ou uma array , mas pode estar em branco ( '' ) ou null se você não estiver carregando um script de terceiros.string ou uma array .<script></script> vinculação a este script <script src='https://cdn.jsdelivr.net/gh/willstocks-tech/dynamically-polyfill-features-for-a-script@master/dynamicpolyfill.min.js'>
</script>
onLoad à tag chamando a função dynamicPolyfill() e passando seus parâmetrosstring ou uma array , mas pode estar em branco ( '' ) ou null se você não estiver carregando um script de terceiros.string ou uma array .Nota: O carregamento de um CDN ainda resultaria em uma solicitação potencialmente desperdiçada?
dynamicPolyfill( 'IntersectionObserver', 'https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'quicklink();' );
dynamicPolyfill( ["IntersectionObserver", "Object.assign"], ['https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'https://other.cdn.net/script.js'], ['quicklink();', 'otherFunction();'] );
NOTA: Você precisa garantir que, antes de chamar a função dynamicPolyfill() , o próprio script real carregou. Se você for hospedado no script (em vez de chamar uma CDN), inclua primeiro o código do script e ligue para a função. Você pode fazer isso da mesma maneira que acima, mas substitua o URL do CDN pelo caminho para o seu próprio arquivo JS, se não quiser chamá -lo do mesmo arquivo.
<script
src='https://cdn.jsdelivr.net/gh/willstocks-tech/dynamically-polyfill-features-for-a-script@master/dynamicpolyfill.min.js'
onload='dynamicPolyfill( ["IntersectionObserver", "Object.assign"], 'https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'quicklink();')'>
</script>
<script
src='https://cdn.jsdelivr.net/gh/willstocks-tech/dynamically-polyfill-features-for-a-script@master/dynamicpolyfill.min.js'
onload='dynamicPolyfill(["IntersectionObserver", "Object.assign"], ['https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'https://other.cdn.net/script.js'], ['quicklink();', 'otherFunction();'])'>
</script>
Para as versões disponíveis, consulte o histórico de lançamento do Repo. Eu recomendo manter o "último lançamento"!
Veja também a lista de colaboradores que participaram desta pequena pepita!
Leia contribuindo.md para obter detalhes sobre o Código de Conduta e o processo para enviar solicitações de tração.
Este projeto está licenciado sob a licença do MIT - consulte o arquivo License.md para obter detalhes