postMessage的使用,不同页面嵌套后的传值
大框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>大框</title> </head> <body> <h2>我是大框</h2> <iframe src="https://www.word.com:22599/PostMessage/test.html" frameborder="0"></iframe> <script> window.onload = function () { //在页面加载完成后主页面向小框发送请求 console.log("我是大框,现在给小框发数据,小框你收到数据没?") window.frames[0].postMessage('我是大框,现在给小框发数据,小框你收到数据没?', '*'); } // 主页面监听小框message事件, window.addEventListener('message', function (e) { var data = e.data; console.log("小框小框,我是大框,收到你的数据:-->" + data) // document.querySelector('p').innerHTML = data; }, false); </script> </body> </html>
小框
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小框</title> </head> <body> <h1>haha</h1> <button type="button" onclick="pi()">按钮</button> <script> function pi() { var a = "我是小框,现在给大框发啊数据pipi" console.log(a) //iframe接收消息,把信息发送给主页面 window.parent.postMessage(a, '*'); } // 监听主页面message事件, window.addEventListener('message', function (e) { var data = e.data; // document.querySelector('p').innerHTML = data; console.log("大框你好,我是小框,收到了这句话:-->" + e.data); }, false); </script> </body> </html>
传的值可以为json对象
本文来自博客园,作者:皮军旗,转载请注明原文链接:https://www.cnblogs.com/pijunqi/p/14480257.html