背景:传统的页面间传值是通过session实现的,这样页面间的传值必须通过服务器端或者通过cookie也可在browser端实现,不过明显是同步。

今天遇到一个新的需求:当用户从一个页面点击一个新的窗口,操作完成时,当新的窗口关闭时,需要在原有的页面上异步地更新一部分相关内容,从网上找了相关资料,最终找到了解决办法,分享之。

有javascript两种解决办法:

1,使用window.showModalDialog()来打开一个新的窗口,而该函数有个返回值,当窗口关闭时可以获得该返回值。

比如 var rtnValue = window.showModalDialog(“test.html”);

可以在test.html中通过<script>window.returnValue = “this is return value.”;来设置窗口的返回值

这样在结合javascript中的相关函数,即可实现需求。

2,使用window.open()来打开一个新的个窗口,在新的窗口里可以通过window.opener.document来引用原有的窗口的文档内容,进而进行修改。

例如代码:window.opener.document.getElementById(“txt0″).value=”new_value”;window.close();

本文地址: http://www.yaronspace.cn/blog/index.php/archives/403

来自yaronspace.cn  本文链接:http://yaronspace.cn/blog/archives/405