2011年2月1日火曜日

Chromium でローカルの html ファイルを開いたら

このエントリーをはてなブックマークに追加
なんだかレイアウトがおかしい。

Origin null is not allowed by Access-Control-Allow-Origin.

jQuery のオフラインラーニングキットがあるということで、


中身拝見してみました。

「jquery1.4.3-offline-learningkit.zip」をダウンロードして展開、「展開先/jquery1.4.3-offline-learningkit/jqapi-offline-1.4.3-documentation/index.html」を Chromium で開いたところ、ちょっとレイアウトがおかしい感じです。


これは、jQuery 1.4.3 API ドキュメントになりますが、オンライン版を確認して見ると、左側のナビゲーション部分が展開されていないのが分かります。

何かエラーでも発生しているのかな?と確認してみると、


おおお、Origin null is not allowed by Access-Control-Allow-Origin. と出ています。navigation.html のロード(.load())に失敗しているようです。

Access-Control-Allow-Origin については、次が分かりやすい。


なるほど、なるほど。

しかし、index.html と同ディレクトリにある navigation.html がロードできないとは!XMLHttpRequest でクロスドメインアクセスを可能にする仕組みがアダになったという、なんだか巧妙な罠みたいですね。

ちなみに、Firefox(3.6.13)では、問題ありませんでした。

どうしよう?

使用している Chromium のバージョンは


ですが、次のオプションを指定して実行することで、Origin null is not allowed by Access-Control-Allow-Origin. は回避できるようになりました。

$ chromium-browser --allow-file-access-from-files


これは、放置されている問題っぽいです。


所感

これを含めてラーニングキットと考えると、ちょっと得した気分になる・・・いや、ならない。

0 件のコメント:

コメントを投稿