JQueryでJavascriptファイルを動的にロードする 質問する

JQueryでJavascriptファイルを動的にロードする 質問する

非常に大きな JavaScript ファイルがあり、ユーザーが特定のボタンをクリックした場合にのみ読み込みたいと考えています。フレームワークとして jQuery を使用しています。これを実現するのに役立つ組み込みメソッドまたはプラグインはありますか?

さらに詳細: 「コメントを追加」ボタンがあり、このボタンをクリックすると TinyMCE JavaScript ファイルが読み込まれ (TinyMCE のすべての内容を 1 つの JS ファイルにまとめました)、tinyMCE.init(...) が呼び出されます。

すべてのユーザーが「コメントを追加」をクリックするわけではないので、最初のページの読み込み時にこれを読み込みたくありません。

次の操作を実行できると理解しています:

$("#addComment").click(function(e) { document.write("<script...") });

しかし、もっと良い/カプセル化された方法はあるのでしょうか?

ベストアンサー1

はい、使いますスクリプトを取得するdocument.write の代わりに - ファイルが読み込まれたらコールバックも許可されます。

ただし、TinyMCE をインクルードする前に、それが定義されているかどうかを確認する必要があります (後続の「コメントの追加」の呼び出し用)。コードは次のようになります。

$('#add_comment').click(function() {
    if(typeof TinyMCE == "undefined") {
        $.getScript('tinymce.js', function() {
            TinyMCE.init();
        });
    }
});

つまり、一度だけ呼び出す必要があると仮定しinitます。そうでない場合は、ここから理解できます :)

おすすめ記事