このリンクを参照してくださいための近代的なブラウザ(HTML5の)でサポートします。 RequireJSのようなモジュールローダーを使用すると、複数のJSファイルを非同期にロードし、ファイルがロードされたときのコールバックを定義できます。
はここで...
の代わりにあなたのjQuery、および/または他のJSファイルをロードする簡単な例ですが、ロードするだけ<script>
はRequireJSスクリプトです。
<script data-main="js/app" src="js/require.js"></script>
data-main
属性は、あなたのRequireJSのコンフィグ設定が含まれてい/js/app.js
でファイルをロードするためにRequireJSに指示します。ここで/js/app.js
の例です。この場合
requirejs.config({
"baseUrl": "js/lib",
"paths": {
"app": "../app",
"jquery": "//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min",
"jqueryMobile": "//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min"
}
});
// Load the main app module to start the app
requirejs(["app/main"]);
は、/js/app.js
は、パスを設定するために主に使用されます。 app
プロパティはどこ特定のアプリJSを検索する場所をRequireJSを伝え、jquery
プロパティは、jQueryのためのGoogleのCDN URLへのRequireJSパスを伝えます。最後に、requirejs()
メソッドを使用して、アプリケーション.js
ファイルを読み込みます。すべてのパスが.js
のままであることに注意してください。この時点でRequireJSで
はapp/main.js
であなたのapp
JSを探すために起こっています。 というファイルをmain.js
という名前で作成します。ファイルは/js/app/main.js
です。
このファイルには、非同期で、GoogleのCDNからjQueryとjQueryのモバイル両方のファイルをロードし、あなたのアプリケーションロジックの残りの部分を含むように起こっています。ここで/js/app/main.js
の例です:
これはどのような影響を持っているん
define(["jquery", "jqueryMobile"], function($) {
//jQuery and jQuery Mobile have been loaded.
$(function() {
// Do stuff with jQuery and jQuery Mobile
});
});
?ファイルがロードされているかを確認するために、ネットワークの滝を見てみましょう:
![enter image description here](https://i.stack.imgur.com/3oArf.png)
上記の図は、jQueryとjQueryのモバイルの両方が非同期読み込みを示しています。同様のデモについては
は、RequireJS jQuery exampleを参照してください。これは、トリガすることができ
var script = document.createElement('script');
script.onload = function() {
alert("Script loaded and ready");
};
script.src = "http://whatever.com/the/script.js";
document.getElementsByTagName('head')[0].appendChild(script);
しかし、あなたがしたいイベント:
あなたは[その](https://gist.github.com/1231586)のような何かをしようとしていますか? – neoascetic
いいえ、私はしませんでした。しかし、最近のバージョンのjQMはRequire.Jsをサポートしています。 –