Небольшой скрипт, который позволяет вам только полифиль функции, если это абсолютно необходимо - не потраченные впустую запросы в браузерах, которые имеют нативную поддержку! ??
Этот сценарий состоит из ~ 4,2 КБ ООН (121 строки) (1,04 КБ ООН, заниженная и GZED) , ~ 8,37 КБ ООН, заниженная встроенными комментариями (121 строки) (2,12 КБ ООН и GZED) , или ~ 1,9 КБ, минимизированные (1 линия) (743B MINALID и GZED) , настолько прозрачно светло. ?
См. Развертывание для заметок о том, как развернуть проект в живой системе.
Убедитесь, что вы знаете, на каких функциях зависит ваш сценарий, и полифиль тех, кто не поддерживается в поддерживаемых вами браузерах (вы можете проверить 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(); Примечание: чувствительный к случаям dynamicPolyfill( ["IntersectionObserver", "Object.assign"], 'https://cdn.jsdelivr.net/npm/[email protected]/dist/quicklink.umd.js', 'quicklink();' )
onLoad в тег, вызывающий функцию dynamicPolyfill() и передавая ваши параметрыstring или array , но может быть пустым ( '' ) или null если вы не загружаете сторонний сценарий.string или array .<script></script> Tag, ссылаясь на этот скрипт <script src='https://cdn.jsdelivr.net/gh/willstocks-tech/dynamically-polyfill-features-for-a-script@master/dynamicpolyfill.min.js'>
</script>
onLoad в тег, вызывающий функцию dynamicPolyfill() и передавая ваши параметрыstring или array , но может быть пустым ( '' ) или null если вы не загружаете сторонний сценарий.string или array .Примечание: загрузка из CDN все еще приведет к потенциально потраченному впустую запрос?
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();'] );
Примечание. Вы должны убедиться, что перед вызовом функции dynamicPolyfill() , которую загрузил фактический сценарий. Если вы собираетесь разместить сценарий сами (вместо того, чтобы призывать к CDN), убедитесь, что сначала включите код сценария, а затем вызовите функцию. Вы можете сделать это так же, как и выше, но замените URL CDN на путь к своему собственному файлу JS, если вы не собираетесь звонить в тот же файл.
<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>
Для получения доступных версий ознакомьтесь с историей репо. Я рекомендую придерживаться «последнего релиза»!
См. Также Список участников, которые участвовали в этом маленьком самородке!
Пожалуйста, прочитайте Anforming.md для получения подробной информации о кодексе поведения и процессе отправки запросов на притяжение.
Этот проект лицензирован по лицензии MIT - для получения подробной информации см.