请问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文件拖进浏览器运行的
展开
 我来答
zhaoapk
推荐于2016-01-20 · TA获得超过3771个赞
知道大有可为答主
回答量:1343
采纳率:40%
帮助的人:1606万
展开全部

父窗口

    <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>
year医海无边
2017-01-29 · TA获得超过1.5万个赞
知道小有建树答主
回答量:9169
采纳率:66%
帮助的人:1124万
展开全部
1,传消息CString strTemp; ::PostMessage(m_hNotify, WM_FOLDERCHANGED, 0, (LPARAM)strTemp ); //m_hNotify为收消息的聚丙, //WM_FOLDERCHANGED 传递的消息 //0 也可以传递内容 //strTemp 传递内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式