CakePHP1.3.xのHtmlHelperでGoogle AJAX Libraries APIのjQueryを読み込む

CakePHP 1.3.0から、AjaxHelperとJavascriptHelperが非推奨になり、JsHelperとHtmlHelperを使うように変更になりました。
ライブラリの.jsファイルの読み込みは HtmlHelper->script() を使いますが、Google AJAX Libraries APIから読み込む方法がCookbookには書いてなかったのでちょっと調べました。

echo $this->Html->script('http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
echo $this->Html->script('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js');
echo $this->Html->css('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/themes/ui-lightness/jquery-ui.css');

とても簡単でした。
Cookbookだと、webroot/js/* に配置したのを読み込む使い方しか書いてないけど、APIリファレンス見たらURLでもいけそうでした。

jQuery UIのテーマ

jQuery UIはテーマ用のcssが必要なので、それもGoogle AJAX Libraries API*1から読み込みます。
読み込むまでしか確認してないので、テーマに属する画像とかもちゃんと取れてるのかまでは確認してないけど、たぶん大丈夫なんだろう。
ただ、テーマもホストしてる事とかテーマのURLが、http://code.google.com/intl/ja/apis/libraries/ で見当たらないのはなぜだろう。


利用できるテーマは Download Builder | jQuery UI の Quick downloads のとこ。
Themes をクリックすると、テーマの一覧がスライドしてきます。
各テーマのリンク先が Google CDN のURLになってました。

JavascriptライブラリのCDN

  1. http://code.google.com/intl/ja/apis/libraries/
  2. Microsoft Ajax Content Delivery Network | Microsoft Docs

Googleが有名だったけど、実はMicrosoftも提供してるらしい。

  1. http://flowplayer.org/tools/download/

jQuery UIと競合するらしいjQuery TOOLSも独自のCDNjquery.tools.min.js を提供。
jquery.tools.min.js の動作に必要な jQuery 1.4.2 も合わせて提供してるみたい。

*1:Google's CDNとも呼ぶらしい。