2011年04月07日

Google Chromeでは、ローカル環境(fileスキーマ)下だと、object要素で読まれたHTMLから親のHTMLを読む事が出来ない

前回、object要素で読み込んだ(X)HTMLから、読み込み元のparam要素の内容を取得する方法の続き。

上記記事にて、

Chrome?さぁ、動くんじゃね?(投げやり)

……と、全くやる気がなかった件について。

先ずは前回のコードをローカル環境下のファイルに保存して、Chromeで開いてみてくれ。こいつをどう思う?
[動作せず]
すごく……動作してません……

そう、動作しない。HTTPでアクセスした場合は問題なく動作するのに、である。

Chromeのデベロッパーツールで確認してみると、in.htmlの16行目にてエラーが発生しているのが分かる。

in.html:16 Uncaught TypeError: Cannot call method 'getElementById' of undefined

……そんな馬鹿な!?

[window.parent.documentがundefined] 更に調べてみると、14行、window.parent.documentundefinedになっている事が分かる
[window.parentはDOMWindow型] window.parentは間違いなくDOMWindow型なのに、である。
undefinedな値にgetElementByIdメソッドが在る訳が無く、その結果、16行にてエラーが発生しているのだ。

これはバグ?それとも仕様?
仕様だとしたら一体どういう意図が……
HTTPサーバ立てて、そこで開発すれば問題は発生しないのだが、態々その為だけにサーバ導入するのも面倒だ……

posted by 天井冴太 at 04:40| Comment(0) | TrackBack(0) | Study | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください

この記事へのトラックバック