Javascript,访问其他窗口的变量

时间:2016-03-11 09:59:41

标签: javascript window

我必须创建一个包含两个不同窗口的网页,让他们共享一些变量。

当加载主窗口时,会打开第二个窗口,在这里我可以存储第二个窗口对象并访问其变量:

主窗口

var mainvar=1;
var secondwindow=open('second.htm');
$("button").click(function(){
    alert(secondwindow.testvar);
});

当我想要做oppsite时,我的麻烦就开始了:从第二个窗口脚本访问主窗口变量:

第二个窗口

var secondvar=2;
var mainwindow;// how can I set this?
$("bunno").click(function(){
   alert(mainwindow.testvar);
});

2 个答案:

答案 0 :(得分:1)

我的建议是使用localstorage来存储变量,并使它们可以在窗口和会话之间访问。

localStorage.setItem('myValue', '1234');//in window 1
alert(localstorage.myValue)//in window 2

如果失败,也可以使用cookies。不太安全,但如果您不在窗口之间传递安全数据,这也会有效。

答案 1 :(得分:1)

我发现这可能适合:

主窗口

var mainvar=1;
var secondwindow=open('second.htm');
$("button").click(function(){
    alert(secondwindow.testvar);
});
$(secondwindow).load(function() {
    secondwindow.mainwindow=window;
});

第二个窗口

var secondvar=2;
var mainwindow=false;
$("bunno").click(function(){
   alert(mainwindow.testvar);
});