JavaScriptやCSSを自動的にロード--YUILoader
YUILoaderは、コンポーネントを用いるにあたって必要となるJavaScriptやCSSを自動的にロードするというものだ。画面表示には関係しないが、<link>や<script>をたくさん記述しなくて済むコンポーネントだ。プログラマには、Javaのimport、Perlのrequireのようなものと言ったほうが分かりやすいかもしれない。
YUILoaderは、コンポーネントを用いるにあたって必要となるJavaScriptやCSSを自動的にロードするというものだ。画面表示には関係しないが、<link>や<script>をたくさん記述しなくて済むコンポーネントだ。プログラマには、Javaのimport、Perlのrequireのようなものと言ったほうが分かりやすいかもしれない。
これはベータ版なので、対応するブラウザや利用条件に配慮した上でご利用いただきたい。また、実行環境となるWebブラウザはJavaScriptを実行可能にしておかなくてはならないのもこれまでと同様だ。
コンポーネントの概要
第2回で紹介したColorPickerを利用するには、事前にCSSとJavaScriptを4つ指定しておかなければならない(第2回のリスト1参照)。第3回のRich Text Editorでは、それらを10も指定しなくてはならない(第3回のリスト1参照)。
しかし、コンポーネントごとにどのCSSやJavaScriptを指定しなくてはならないのかをいちいち調べるのは面倒だ。かといって指定を重複させてしまうのはムダだ。YUILoaderは、コンポーネント名を指定すれば、それに必要なものをロードしてくれるので、<link>や<script>を何行も記述する必要がない。
ここでは、ロードを行う3つの方法を紹介していくことにする。URLによってロードする方法もあるが、これは実質的に<link>や<script>と同様の処理といえるので、説明は省略する。
定義済みのコンポーネントのロード
ロードの方法としては最も多く用いられると思われる方法で、YUILoaderに対してコンポーネントの名称を指定する。リスト1はこれを用いてColorPickerをロードする例だ。ColorPickerの定義処理は事前にcolorPickerに記述し、最後のinsertメソッドで実行させている。
重要なのことは2点ある。まず<link>がリスト1のどこにも記述されていないこと。次にロード処理はrequireメソッドで行われるということだ。このメソッドの引数'colorpicker'はColorPickerを指している。
こうしたコンポーネントごとの名称はYUILoader.moduleInfoの値を調べれば分かるのだが、執筆時点では対応表のようなものは整備されておらず、値を解析する以外はソースコードを直接参照するしかない。ちなみにRich Text Editorにはeditorという名称が対応している。詳細はAPIドキュメントを参照していただきたい。
リスト2 YUILoaderによるColorPickerのロード
<script src="build/yuiloader/yuiloader-beta.js"></script>
<script type="text/javascript"><!--
/* ..... 以下のソースコードはFirefox2.0.0.6で実行確認 ..... */
// ColorPickerの定義
var colorPicker = function() {
var picker = new YAHOO.widget.ColorPicker("yui_colorpicker", {
// ColorPickerに対する設定(第2回のリスト2参照)
});
// イベント処理の定義など(第2回のリスト3参照)
};
var loader = new YAHOO.util.YUILoader();
loader.require( 'colorpicker' ); //
loader.insert( colorPicker );
// loader.onLoadComplete = colorPicker;
// loader.insert();
// --></script>
- 0人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- 特集: 強力AjaxライブラリYahoo! UI Library (8件)
- ホワイトペーパー
- 話題のタグ
文字にドロップシャドウの効果をつける--FirefoxとSafariのCSS対応
iPhoneにAdiumが載らない2つの理由
iPhone 3Gの節電術
マイクロソフトはIE 8で地雷を踏んだ?
マイクロソフト、Internet Explorer 8のベータ2をリリース
「iPhone」のパスコードロックに深刻な脆弱性--連絡先情報が読み取られる危険も
Windows XPのバックアップユーティリティについて知っておくべき10のこと
S・ウォズニアック氏:「エンジニアは自分の心に従って行動すべき」--IDFインタビュー
Firefox 3.1のHTML 5対応を検証--Canvas Text APIとCanvas Shadow API
グーグルが、無料社食をついに廃止?--真実はいかに
iPhoneからサーバにSSHログイン:TouchTerm
トップページにみる日本のウェブデザイン--表現したい人たちが集うMySpace
モジラ、「Firefox 3.1」でJavaScript実行を大幅に高速化
仮想化環境で求められるストレージの要件
Techno Exchange
ZDNet Japan ホスティング特集
「シンプル」&「低コスト」な運用管理
セキュリティ対策レベルテスト公開!
ZDNet Japan Green IT
DELLが掲げる「新・仮想化アセスメントサービス」
Webセキュリティ特集
APC SOLUTIONS FORUM 2008をレポート