2016-10-29 9 views
0

私は3つのファイルを持っています。最初はindex.html、2番目はframe1.html、3番目はframe2.htmlです。 index.htmlにはフレームBのスクリプトは、フレームAのWindowオブジェクトを参照できません

私はコードを持っている:frameAで

<iframe src="frameA.html"></iframe> 
<iframe src="frameB.html"></iframe> 

:frameBで

<script> 
var n = 3; 
</script> 

:frameBで

console.log(parent[0].n)// undefined why? 

を私はMSG未定義得るが、私は、コンソールを実行するとき.log(parent [0])私はウィンドウframeAを得る。なぜ私はフレームAからフレームBに価値を得ることができないのですか?

+0

AはBの親ではありません。なぜなら、それらのiframeは兄弟である – charlietfl

+0

ですが、親[0]はフレームAのウィンドウオブジェクトです; p –

+0

あなたはhtmlの – charlietfl

答えて

0

Firefoxではチャームのように機能します。 Chromium/Chromeのnへのアクセスはsame-origin policyによってブロックされています。

Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.

あなたが任意のサーバーにあなたの例をアップロードするか、ローカルホストを設定した場合、それはあまりにも(ローカルapache2の上でそれをテストした)、クロムで正常に動作します。

多分、クロムがその空の上でつまずくwindow.location.hostnamefile://-プロトコルで作業しています。

+0

なぜフレームAのparent [0] ?? //()ウィンドウにアクセスできるのですか? –

関連する問題