httpリクエストの数を最小限に抑える必要があるという事実にもかかわらず、時々(またはタスクによっては頻繁に)「重い」機能の一部をページで本当に必要な場合にのみロードすると便利です。
JQueryには
$.getSを実装するメカニズムがありますが、いくつかの欠点があります。
- すでにロードされているスクリプトまたは現在ロードされているスクリプトは記憶されず、再度要求されると再びロードされます。
- 一度に複数のスクリプトを指定することはできません
- キャッシュはオフです(タイプ
?_=1242843920520パラメーターは各?_=1242843920520強制的に割り当てられます)。 どうしてそんなに大変だったのかは私には謎です。 - コールバックにコンテキストを設定することはできません(これは一般にjQueryコールバックの病気です)。
上記の欠点がない、小さなプラグインを作成する必要がありました。
$.requireS cript( url , callback , [ context ], [ options ])どこで:
urlロードされたスクリプトのURL(URLの配列にすることができます)
callbackスクリプトのロード後に呼び出される
callback関数
contextコールバック関数が呼び出されるコンテキスト(オプション)
options -パラメーター。 現在、1つのパラメーターのみがサポートされています-parallelは、複数のスクリプトに並列読み込みを使用するかどうかを示します(デフォルトは
true )
たぶん誰かが役に立つでしょう。
code.googleでダウンロードして試すことができます。
更新:コメントのコメントに従って、
$.loadS cript $.loadS cript変更され、複数のURLを一度に指定できるようになりました。