JavaScriptを使えば画面遷移の少ない、スムーズな操作性を提供できる。いわゆるAjaxなどがそれに相当するが、ドメインを越えて通信できないのが問題だった。幾つかの打開案はあるが、例えばJSONPを使う方法やサーバサイドで取得する方法などがメインになっていた。

ピクチャ 33.png

検索結果のXMLを並べるテスト

 

これではどちらかのサーバで対応が必要になってしまう。そんな中、殆どをクライアントサイドだけで解決してしまうのがjQuery CrossDomainだ。

今回紹介するオープンソース・ソフトウェアはjQuery CrossDomain、jQueryによるクロスドメインAjaxライブラリだ。

jQuery CrossDomainが使うのはFlashだ。Flashを使って外部ドメインにあるXMLを取得し、それをJavaScriptに返すようになっている。その仕組みをjQueryプラグイン化することで容易に扱えるようにしているのだ。

ピクチャ 34.png

地域を指定して周辺ホテルを一覧するマッシュアップ

 

最大の弱点はcrossdomain.xmlだろう。ここでサイトが利用可能になっていなければ利用はできない。とは言えWeb APIを配信しているサービスの場合、Flashからの利用も考えるのでどのドメインでも使えるようになっていることが多いのではないだろうか。

データを取得してしまえばXMLを解析するような面倒さもない。jQueryらしい書き方で見やすく、シンプルに処理を書き上げることが出来る。crossdomain.xmlに依存はするが、JavaScriptだけでマッシュアップアプリケーションを作る際には必須と言えるライブラリだ。

 

jqcrossdomain - Google Code
 http://code.google.com/p/jqcrossdomain/