赞
踩
用 open 方法打开的子窗口也会面临和其他窗口交互的问题,交互无外乎互相传递数据,并接收其他窗口传递过来的数据。
向 open 方法创建的子窗口传递数据有多种方法,其中之一就是使用 BrowserWindowProxy.postMessage 方法,该方法可以向指定的窗口传递任意类型的数据和来源(origin),如果不知来源,可以使用星号 '*' 代替,关于来源是什么,以及如何使用,在后面的内容会详细介绍。
如果只是想向另外的窗口传递数据,需要使用下面的代码。
- function onClick_Message() {
- //向 win 指定的窗口传递数据
- win.postMessage('my data', '*');
- }
-
- var win;
- //创建并显示一个主窗口
- function onClick_OpenWindow() {
- //用 open 方法打开一个子窗口
- win = window.open('./child.html','接收消息','width=300,height=200')
- }
其中 postMessage 方法的第 1 个参数用于指定要传递的数据,第 2 个参数是来源,一个字符串类型的值,如果不知道来源,可以使用 '*'。
下面的代码在 event.js 文件中,onLoad() 函数是 child.html 的 load() 函数,当 child.html 页面装载完会调用 onLoad() 函数,该函数添加了一个 message 事件的 listener,当使用 postMessage 方法传递数据时,接收数据的页面就
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。