2011-12-28 9 views
4

iframeを持つ単純なhtmlコードがあり、親のiframe外のグローバル変数にアクセスしたいと思います。Chromeでグローバル変数にアクセスする

誰もがクロームが私を幸せにしたくない理由を知っていますか? :)

iframeのコードは、ffでうまく動作します。ただし、chromeでは動作しません。

HTMLコード:

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
<script> var one = "two"; </script> 
..... 
<body>  
<iframe name="process" id="process" src="" frameborder=1></iframe>  
</body> 
</html> 

のiframeコード:

<html> 
<head> 
<script> alert("Inside step 1 : "+parent.one); </script> 
</head> 
<body> 
    STEP 1 
</body> 
</html> 
+0

可能な複製:http://stackoverflow.com/questions/5777289/cant-access-content-of-another-frame-in-chrome – ean5533

+0

@ ean5533は、私がグローバルスコープにアクセスしているのと同じではありません変数ではなく、別のフレームからのコンテンツではなく、そのIDを持つ。また、これはiframeです – dyoser

答えて

1

残念ながら、あなたはJavaScriptでそれを行うことはできません。各iframeは独自のdocumentに含まれています。このdocumentオブジェクトには、そのiframeのグローバルスコープが含まれています。グローバルスコープ外のものにはアクセスできないため、iframeはiframe内で作成された変数のみを使用できます。

+0

提供されたHTMLをテストページに入れれば、iframeに 'alert(parent.one)'を正しく呼び出すことができます... –

+0

@Matt Bradley Nope、私がffで言ったように私はiframe内のグローバルスコープ内の変数にアクセスできます。プリンシパルとiframeが同じホストにある場合、iframeの外側の変数にアクセスできます。同じドメインにあるためwindow.messageは必要ありません – dyoser

関連する問題