Un petit script qui vous permet de uniquement en polyfill une fonctionnalité lorsque cela est absolument nécessaire - pas de demandes gaspillées sur les navigateurs qui ont une prise en charge native! ??
Ce script est ~ 4.2KB UN Minifié (121 lignes) (1,04KB UN MIFIED et GZIPED) , ~ 8,37KB UN Minifié avec des commentaires en ligne (121 lignes) (2.12KB UN Minifié et gzipip) , ou ~ 1,9 KB Minifié (1 ligne) (743B Minifié et gzipped) , donc il est assez léger. ?
Voir le déploiement pour des notes sur la façon de déployer le projet sur un système en direct.
Assurez-vous de savoir sur les fonctionnalités de votre script sur et les polyfills ceux qui ne sont pas nativement pris en charge sur les navigateurs que vous prenez en charge (vous pouvez vérifier 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(); Remarque: sensible à la casse dynamicPolyfill( ["IntersectionObserver", "Object.assign"], 'https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'quicklink();' )
onLoad à la balise appelant la fonction dynamicPolyfill() et passant vos paramètresstring ou un array , mais peut être vide ( '' ) ou null si vous ne chargez pas de script tiers.string ou array .<script></script> liant à ce script <script src='https://cdn.jsdelivr.net/gh/willstocks-tech/dynamically-polyfill-features-for-a-script@master/dynamicpolyfill.min.js'>
</script>
onLoad à la balise appelant la fonction dynamicPolyfill() et passant vos paramètresstring ou un array , mais peut être vide ( '' ) ou null si vous ne chargez pas de script tiers.string ou array .Remarque: le chargement à partir d'un CDN entraînerait toujours une demande potentiellement gaspillée?
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();'] );
Remarque: vous devez vous assurer qu'avant d'appeler la fonction dynamicPolyfill() que le script réel lui-même a chargé. Si vous allez héberger le script vous-même (plutôt que d'appeler un CDN), assurez-vous d'inclure d'abord le code de script, alors appelez la fonction. Vous pouvez le faire de la même manière que ci-dessus, mais remplacez l'URL CDN par le chemin d'accès à votre propre fichier JS, si vous ne l'appelez pas à partir du même fichier.
<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>
Pour les versions disponibles, consultez l'historique des versions du repo. Je recommanderais de rester à la "dernière version"!
Voir aussi la liste des contributeurs qui ont participé à cette petite pépite!
Veuillez lire contribution.md pour plus de détails sur le code de conduite et le processus de soumission des demandes de traction.
Ce projet est sous licence en vertu de la licence MIT - voir le fichier licence.md pour plus de détails