一個頁面通過iframe引入另外一個頁面,頁面之間如何通訊?兩個頁面就存在兩個window,存在跨域。父子頁面可以通過window.postMessage進行通訊。
1、子頁面使用window.postMessage通訊;
2、父頁面使用window.addEventListener("message", receiveMessage, false);實時接收子頁面的數據。
父窗口
<iframe src="test2.html"></iframe> <script> function receiveMessage(e) { alert(e.data); } window.addEventListener("message", receiveMessage, false); </script>
子窗口test2.html
<input type="text" value="send" id="input" /> <input type="button" value="send" id="button" /> <script> document.getElementById('button').onclick = function () { top.postMessage(document.getElementById('input').value, '*'); }; </script>