絶対に必要な場合に機能をポリフィルすることができる小さなスクリプト - ネイティブサポートのブラウザで無駄なリクエストはありません! ??
このスクリプトは、〜4.2kb UNミニファイド(121行) (1.04kb UNミニファイドおよびGzipt) 、〜8.37kbはインラインコメント(121行) (2.12kb UN省略およびGzipped) 、または〜1.9kbの邪魔(1行) (743Bの邪魔およびGzipt)であり、それはかなり明るいです。 ?
ライブシステムにプロジェクトを展開する方法に関するメモの展開を参照してください。
スクリプトが依存している機能を把握し、サポートするブラウザでネイティブにサポートされていないポリフィルを確認してください(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();' )
dynamicPolyfill()関数を呼び出し、パラメーターを渡すタグにonLoad属性を追加しますstringまたはarrayのいずれかとして予想されますが、サードパーティのスクリプトをロードしていない場合は、空白( '' )またはnullなる可能性があります。stringまたはarrayとして予想されます。<script></script>タグを追加します <script src='https://cdn.jsdelivr.net/gh/willstocks-tech/dynamically-polyfill-features-for-a-script@master/dynamicpolyfill.min.js'>
</script>
dynamicPolyfill()関数を呼び出し、パラメーターを渡すタグにonLoad属性を追加します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に電話をかけるのではなく)、最初にスクリプトコードを含めてから、関数を呼び出してください。これを上記と同じ方法で実行できますが、同じファイルから呼び出さない場合は、CDN URLを自分の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>
利用可能なバージョンについては、リポジトリリリース履歴をご覧ください。 「最新リリース」にこだわることをお勧めします!
この小さなナゲットに参加した貢献者のリストも参照してください!
行動規範の詳細と、プルリクエストを送信するプロセスについては、Converting.mdをお読みください。
このプロジェクトはMITライセンスに基づいてライセンスされています - 詳細については、license.mdファイルを参照してください