我必须创建一个包含两个不同窗口的网页,让他们共享一些变量。
当加载主窗口时,会打开第二个窗口,在这里我可以存储第二个窗口对象并访问其变量:
主窗口
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);
});
答案 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);
});