1. ホーム
  2. javascript

[解決済み] CDNがブロックされた/利用できない場合のフォールバックとして、ローカルのスクリプトファイルを読み込むには?重複

2022-05-07 07:16:25

質問

以下のjavascriptはCDNを使用しています。

それぞれについて、ブロックされている/利用できない可能性がある場合に、ローカルコピーの使用に戻すにはどうしたらよいですか?

解決方法は?

cdnスクリプトがロードされたことを確認するには、このスクリプトが定義する変数/関数が存在するかどうかをチェックすることができます。

この原則に基づき、このようなソリューションがあります。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/libs/jquery-1.5.1.min.js">\x3C/script>')</script>

(window.jQueryプロパティが定義されていない場合、cdnスクリプトはロードされませんでした).

この方法を使って、独自のソリューションを構築することもできます。例えば、jquery tooltipプラグインは、以下のように作成します。 $.tooltip() という関数があるので、このようなコードで確認することができます。

<script>
    if (typeof $.tooltip === 'undefined') {
        document.write('<script src="js/libs/jquery.tooltip.min.js">\x3C/script>');
    }
</script>