如何让两个窗口(一个窗口被另一个窗口打开)进行通信

时间:2012-04-10 08:43:56

标签: javascript

如果标题不清楚 让我再说一遍 如果页面a.html具有以下javascript代码

    window.open("http://www.baidu.com/", "_self", "");

原始窗口和新打开的窗口如何通信?

感谢

2 个答案:

答案 0 :(得分:1)

新文档将具有opener属性,该属性引用从中打开它的窗口。如果浏览器导航到新文档,这将丢失。

open返回值将是对新窗口的引用(因此您需要将其分配给变量)。

same origin policy照常适用。

答案 1 :(得分:0)

假设他们在同一个域上并且您实际打开一个新窗口(“_self”不是一个打开新窗口的好主意)您可以这样做

var w = window.open(....)

w.document....

并从子窗口

opener.someFunction()

opener.someVar = ...

如果不是,则需要跨域脚本