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:タイムアウト指定(ミリ秒指定)
