«前の日記(2008-05-24 (土)) 最新 次の日記(2008-06-04 (水))»  

まちゅダイアリー


2008-05-29 (木)

jQuery ライブラリをホスティングしてくれる Google AJAX Libraries API

先日公開した Powerset + Google 翻訳の Jawerset を多言語に対応するついでに、 Google AJAX Libraries API を使ってみた。 Jawerset では、 jQuery を使って Yahoo! Pipes や Google 翻訳を利用しているんだけど、この jQuery ライブラリを Google がホスティングしてくれるというもの。 こんな感じに使える。

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("language", "1"); 
google.load("jquery", "1");
google.setOnLoadCallback(function() {
  // メインの処理を書く
});
</script>

Jawerset では、まず Google 翻訳 (language) をロードして、その後に jQuery をロードしている。 ロードは非同期に行われるので、メインの処理は setOnLoadCallback の中に書く。 最初、以下のように jQuery の機能を使っていたら、 jQuery ライブラリのロード前に実行されるので、そんな関数 ($) は無いと怒られてしまった。

// これはNG
$(document).ready(function(){
  // メインの処理を書く
});

まぁ、 jQuery だけを使いたい場合はわざわざ Google AJAX Libraries API を使うまでもないと思う。 jsapi のロードと jQuery のロードの2回リクエストが発生するからね。 でも、 Google Map や翻訳などの JavaScirpt 系ライブラリを使うのなら、 jsapi をロードするついでにこの機能を使うのもありかな。 帯域課金のサービスを使っているような場合は、特に帯域が減るのでいいかも?

Firebug で jQuery と jsapi のロード時間を見ると、それぞれ 300msec 程度だった。 可も無く不可も無く、くらい?

そんなわけで

多言語化した Jawerset でも遊んでみてください。

Tags: JavaScript