本篇主要介绍使用window.showModalDialog()时如何在父窗体与子窗体之间传值,通信
有关window.open()父窗体与子窗体之间的通信请点击:
JavaScript window.open父窗体与子窗体之间的通信
window.showModalDialog()并不能像window.open()那样可以直接获取父窗体句柄,但是可以通过returnValue返回到父页面的值。
父页面页面:a.html:
var getValue = showModalDialog('b.html','','参数'); console.log(getValue);//打印子页面传来的值
子页面:b.html
window.returnValue = "传到父页面的值"; window.close();
当然如果想刷新父页面也很简单,因为showModalDialog为阻断式的,在show()之后的代码将不会执行,直到子窗体关闭之后,所以要刷新父页面在show之后调用即可:
var getValue = showModalDialog('b.html','','参数'); //一下代码不会执行直到上面创建的window关闭 console.log(getValue);//打印子页面传来的值 //子window关闭之后,代码继续执行,添加刷新当前页面代码即可 // refresh();