みなさん、こんにちは。

現在、このサイトのトップページには「Headline」というコンテンツが表示されています。

今回は、この「Headline」についての技術的なご紹介をさせていただきます。

クロスドメインでAJAX

クロスドメイン制約

このHeadlineでは、弊社が運営する「デジタルカタログ制作のデジパン」のRSSフィードを取得して順番に表示しているのですが、実はAJAXアプリケーションにはクロスドメイン制約というセキュリティ上の制限が設けられています。

そのため違うドメインのサイトから取得したXMLを使用したAJAXアプリケーションは動作しません。

そこで、多くの場合は、PHPやPerl/CGIなどでプログラムを作成して、一度自社サーバー内にXMLをダウンロードしてから、自社ドメイン内のXMLとして処理を行います。
(JSONPと呼ばれる方法などもありますが、これらは相手側の対応が必要です。)

しかし、このサイトではあえてそれらの方法を使用していません。

CrossOverを使用したクロスドメイン

弊社ではCrossOverという小さなライブラリを開発して公開しています。

このライブラリは、前述のようなクロスドメイン制約を回避するためのライブラリで、ライブラリ内には小さなswfファイル及びJavaScriptが同梱されています。

実は皆さんがアニメーションで目にすることが多いFlashには、crossdomain.xmlで許可された場合のみ、違うドメインからのXMLアクセスを許可するという機能があります。

そしてCrossOverは、この仕組みを利用してFlashによって取得したXMLをJavaScriptに渡すことでクロスドメインによるAJAXを可能にしています。

このCrossOverはオープンソースで公開してから約半年になりますが、おかげさまで1000件以上のダウンロードが行われ、非常に多くのサイトで利用いただいています。

弊社では技術レベルの向上のために、このCrossOverのようなオープンソースへの貢献を非常に重要なものと位置づけています。

今後とも弊社をよろしくお願いいたします。

関連キーワード

2009年11月06日 by admin

デジタルカタログ制作 ASP型メルマガ配信 技術者向けブログ
串本ダイビング