• 締切済み

インラインフレーム内の変数を親ページから呼び出す

インラインフレーム内のマウス位置を↓のjavascriptコードで取得しているのですが、親ページのjavascriptの関数で使用したいです。どのようにインラインフレーム内の変数を親ページから呼び出して、利用すればよいのでしょうか? var x, y; window.addEventListener("DOMContentLoaded", function(){ window.document.onmousemove = function(e){ x = getMousePosition(e).x; } },false); function getMousePosition(e) { var obj = new Object(); if(e) { obj.x = e.pageX; obj.y = e.pageY; } else { obj.x = event.x + document.body.scrollLeft; obj.y = event.y + document.body.scrollTop; } return obj; }

みんなの回答

回答No.1

各フレームのwindowオブジェクトからアクセスしてください。 <script> onload=function(){ alert( window.iframe_name.x ); // Javascript1.1 DocumentObject alert( document.getElementById('iframe_id').contentWindow.x ); // DOM }; </script> <iframe name="iframe_name" id="iframe_id" src="index2.html"></iframe> index2.html <body> <script> var x = 1; </script> </body> =============== HTML5 WebApplication APIを使うなら、postMessage()でウインドウ間通信ができます。 この方法はあくまで「通信」ですので、変数を参照するという物ではありません。 https://developer.mozilla.org/ja/docs/DOM/window.postMessage http://msdn.microsoft.com/ja-jp/library/ie/cc197057(v=vs.85).aspx

tennis_eyes
質問者

お礼

ありがとうございます!助かりました!

関連するQ&A

専門家に質問してみよう