我有父浏览器窗口P。点击一个按钮,一个新的浏览器窗口WIN-A被打开。 然后再次按下相同的按钮它应该读取WIN-A窗口的标题并打开WIN-B如何在两个浏览器窗口之间进行通信?
如何使用Javascript实现此目的?
在此先感谢
我有父浏览器窗口P。点击一个按钮,一个新的浏览器窗口WIN-A被打开。 然后再次按下相同的按钮它应该读取WIN-A窗口的标题并打开WIN-B如何在两个浏览器窗口之间进行通信?
如何使用Javascript实现此目的?
在此先感谢
类似的问题只是最近问:
堆栈溢出问题:Quickest way to pass data to a popup window I created using window.open()?
使用,作为一个基地(并提供了家长和WIN-A是在同一个域):
// Put outside click handler
var winA = null;
// Put inside click handler
if(!winA){
// Store the return of the `open` command in a variable
var winA = window.open('http://www.mydomain.com/page1');
} else {
var title = winA.document.title;
// Do something with title
var winB = window.open('http://www.mydomain.com/page2');
}
考虑:
var myWindow = open("foo.bar");
老方法:更改窗口对象的name
属性:
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,它返回到基准新打开的窗口。您可以将引用存储到在数组中打开的窗口,然后在需要打开另一个新窗口时迭代该数组。
加布里埃尔
我从来没有见过(possibly_present_func_one || possibly_present_func_two)(参数,参数);技术之前。凉。 – 2009-12-02 20:50:37
Trevor:如果它不是'window'的属性,请不要忘记使用'.call(the_object_that_is_supposed_to_be_the_parent,args)'。 – 2009-12-02 22:46:46
使用花哨的作业和速记操作很酷,但对于像SO这样主要关注分享知识的页面,这不是最好的方法。人们对JS不感兴趣“||” - 或者任务必须认为它看起来很神秘而且不直观。 – 2013-10-11 17:28:16