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を一度に指定できるようになりました。