Javascript 如何在两个浏览器窗口之间通信?
我有一个父浏览器窗口p。单击按钮后,将打开一个新的浏览器窗口WIN-a。 然后再次按下相同的按钮,它应该读取WIN-A窗口的标题并打开WIN-B 如何使用Javascript实现这一点Javascript 如何在两个浏览器窗口之间通信?,javascript,Javascript,我有一个父浏览器窗口p。单击按钮后,将打开一个新的浏览器窗口WIN-a。 然后再次按下相同的按钮,它应该读取WIN-A窗口的标题并打开WIN-B 如何使用Javascript实现这一点 提前感谢最近有人问了一个类似的问题: 堆栈溢出问题: 以此为基础(前提是家长和WIN-a在同一个域中): 鉴于: 旧方法:更改窗口对象的名称属性: myWindow.name = "..."; // in foo.bar: setInterval(someFunctionToCheckForChangesInNa
提前感谢最近有人问了一个类似的问题: 堆栈溢出问题: 以此为基础(前提是家长和WIN-a在同一个域中): 鉴于: 旧方法:更改窗口对象的
名称
属性:
myWindow.name = "...";
// in foo.bar:
setInterval(someFunctionToCheckForChangesInName, 100);
HTML5方法:调用窗口对象的postMessage
方法:
myWindow.postMessage("...", "*");
// in foo.bar:
(window.addEventListener || window.attachEvent)(
(window.attachEvent && "on" || "") + "message", function (evt) {
var data = evt.data; // this is the data sent to the window
// do stuff with data
},
false);
调用window.open时,它返回对新打开窗口的引用。可以将对打开的窗口的引用存储在数组中,然后在需要打开另一个新窗口时迭代该数组
加布里埃尔我从未见过(可能是现在的一个|可能是现在的两个)(args,args);以前的技术。酷毙了。特雷弗:别忘了使用
.call(对象,即父母,args)
如果它不是窗口的属性
。使用奇特的赋值和速记操作很酷,但对于这样一个主要关注点是分享知识的页面,这不是最好的方法。对JS“| |”或作业不满意的人必须认为它看起来神秘而不直观。
myWindow.name = "...";
// in foo.bar:
setInterval(someFunctionToCheckForChangesInName, 100);
myWindow.postMessage("...", "*");
// in foo.bar:
(window.addEventListener || window.attachEvent)(
(window.attachEvent && "on" || "") + "message", function (evt) {
var data = evt.data; // this is the data sent to the window
// do stuff with data
},
false);