请问js的window.postMessage怎么做到往自己的不同窗口里面发送数据啊?最好能给我一个能跑的实例
请问js的window.postMessage怎么做到往自己的不同窗口里面发送数据啊?最好能给我一个能跑的实例我去查了一些例子,还是没有办法搞定,所以谁有现成能用的给我一...
请问js的window.postMessage怎么做到往自己的不同窗口里面发送数据啊?最好能给我一个能跑的实例
我去查了一些例子,还是没有办法搞定,所以谁有现成能用的给我一份吧
我做的时候就是在一个页面里面用iframe开另外一个页面,然后大的页面有一个按钮执行window.postMessage({ text: 'Hello from the webpage!' }, '*');
然后在那个iframe引入的页面里面直接执行了
window.addEventListener("message", (function(event) {
console.log('get');
}), false);
但是没有办法接受到数据
我的浏览器是chrome
没有用服务器我是直接把html文件拖进浏览器运行的 展开
我去查了一些例子,还是没有办法搞定,所以谁有现成能用的给我一份吧
我做的时候就是在一个页面里面用iframe开另外一个页面,然后大的页面有一个按钮执行window.postMessage({ text: 'Hello from the webpage!' }, '*');
然后在那个iframe引入的页面里面直接执行了
window.addEventListener("message", (function(event) {
console.log('get');
}), false);
但是没有办法接受到数据
我的浏览器是chrome
没有用服务器我是直接把html文件拖进浏览器运行的 展开
2个回答
展开全部
父窗口
<iframe src="test2.html"></iframe>
<script>
function receiveMessage(e) {
alert(e.data);
}
window.addEventListener("message", receiveMessage, false);
</script>
子窗口
<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>
追问
高人啊
谢谢
能不能告诉我子窗口里面的top跟用window为什么不一样呢?top指的是父窗口的iframe??
如果我想要父窗口发送给子窗口又应该怎么做呢?我交换了一下代码发现不行,
还有我看有的网站上面说postmessage可以在不同页面间传递数据,是不是说我一个浏览器开了两个不同窗口之间也能传递数据吗?
追答
top指的是父窗口的iframe。
XXX.postMessage这里XXX是要接收消息的那个窗口的window对象。
如果能找到新窗口的window对象,应该也可以传递消息。(我试过a标签用target打开新页面)
向子窗口发送
父窗口
<iframe id="frame" src="test2.html"></iframe>
<input type="text" value="send" id="input" />
<input type="button" value="send" id="button" />
<script>
document.getElementById('button').onclick = function () {
window.frames[0].postMessage(document.getElementById('input').value, '*');
};
</script>
子窗口
<script>
function receiveMessage(e) {
alert(e.data);
}
window.addEventListener("message", receiveMessage, false);
</script>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询