YUI3実行中にモジュールを取得する処理
実行中に外部のJavaScriptを直接取得したい場合があると思います。モジュールGetは、違うサイトのJavaScriptを直接ローディングすることができます。
モジュールGetはコア機能に含まれているので、明示的なモジュールの指定は必要ありません。Y.Get.Script()
で読み込みの指定を行います。違うサイトの場合はurlの指定になります。同じサイトの場合はファイル名指定で大丈夫です。
自分で作成した関数をファイルに保存しておき、Y.Get.Script()
で読み込んで実行させる例題を考えてみましょう。
リスト7のような関数を作成し、script.jsのファイル名で保存します。
function func(){ alert("Get function"); }
単純に"Get function"を表示しただけの関数です。以下リスト8をみてください。
YUI().use("node", function (Y) { var obj = Y.Get.script("./script.js",{ onSuccess:function(){ alert("file loaded"); }, onTimeout: 20000 }); //(1) Y.one('#button').on("click", function(e) { func(); }); //(2) }); </script>
立ち上げたとき、読み込みが成功すると「file loaded」ウインドウが表示されます。OKを押してください。ボタンを押すと(2)で読み込んだ関数funcを実行させています。Y.Get.script()
の構文は次のようになります。
Get.scriptt( url , options ) url:"http://localhost/script.js" や "./script.js"等 options: onSuccess:読み込み成功時の処理 onFailure:読み込み失敗時の処理 onTimeout:タイムアウト指定(ミリ秒指定)