2017-09-22 25 views
0

iframe から変数にアクセスしたい場合は、 iframeContent.htmlページを編集します。親ページのiframeから変数にアクセスiframeページを編集せずに

<html> 
<head> 
<title>IFrame Child Example</title> 
<script type="text/javascript"> 

var asd="12"; 

</script> 
</head> 
<body> 

<div id="wynik2"></div> 
<script type="text/javascript"> 
document.getElementById("wynik2").innerHTML=asd; 
</script> 

</body> 
</html> 

フレームは、(数12を示している)よさそうだ:警告ウィンドウは、まだ '未定義'

<!DOCTYPE html> 
<html> 
<head> 
<title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

<script type="text/javascript"> 
    var iframe0=0; 
    var iframe0document=0; 
    var inputIframe=0;  

    function getIframeText() { 
     var iframe0 = document.getElementById("iframe123"); 
     var iframe0document=iframe0.contentDocument||iframe0.contentWindow.document; 
     var inputIframe = iframe0document.getElementById("wynik2"); 
     alert(inputIframe.value); 
    }; 
</script> 
</head> 

<body> 

<div> 
    <button onclick="getIframeText()">get iframe text</button> 
    <iframe id="iframe123" src="iframeContent.html" > 

</div> 
</body> 
</html> 

iframeContent.htmlを示し、なぜ私は知りません。私はChrome上で私のページをテストしていますが、コマンドウィンドウから「ファイルからのファイルアクセスを許可」と入力しています。これは問題ではありません。グローバル変数も設定されています(私は正しいことをしていますか?)ので、なぜまだ定義されているのか分かりません。

+0

私は本当にこれが安全上の意味合いのために可能ではないと思います。 –

+0

コメントありがとうございますが、iframeからこの値を取得して変数に入れる可能性はありますか? (他のプロジェクトでは、iframeの値を使って数式を計算したい) – Iwona

答えて

0

は、inputIframe.valueの代わりにinputIframe.innerTextを使用します。 "wynik2"はdivですよね?乾杯! :)

+0

はい。それは動作します!どうもありがとう! – Iwona

+0

@iwona:ようこそ。私の答えを受け入れることを忘れないでください。ありがとう:) – vnt

関連する問題