他のフレームからフレームの要素にアクセスする方法。例の場合:Javascriptの他のフレームからフレームの要素へのアクセス
main.htmlと:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<frameset rows="33%,33%,*">
<frame class="fra" src="frame1.html"/>
<frame class="fra" src="frame2.html"/>
</frameset>
</html>
frame1.html:
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</HEAD>
<body>
<b><p id="para"> This is frame one.html </p></b>
</body>
</html>
がframe2.html:
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</HEAD>
<body>
<b><p id="para"> This is frame two.html </p></b>
<button id="but"> Get data </button>
<script>
$(document).ready(function(){
$("#but").click(function(){
alert(window.frames[0].document.getElementById('para'));
});
});
</script>
</body>
</html>
ボタンがフレーム2からクリックされたら、私は必要frame1に存在する "para" id要素のデータを取得します。そこで、下記の のように要素にアクセスしようとしました。しかし、それは働かない。
window.frames[0].document.getElementById('para')
これは、ようなエラーを示していますので、いずれか.Can window.frames[0]
自体未定義 は、私はこの問題を解決するのに役立ち
Uncaught TypeError: Cannot read property 'document' of undefined
?
ブラウザがアクションをブロックします親にアクセスするには、親を使用して、他のフレーム、 この[解答](http://stackoverflow.com/questions/25098021/securityerror-blocked-a-frame-with見ます原点を越えた原点からの原点) –
[SecurityError:原点を持つフレームが原点を越えたフレームにアクセスできないようにブロックされました](http://stackoverflow.com/questions/25098021/securityerror-クロス・オリジン・フレームからの原点付きブロック・フレーム) –