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 | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。