我正在尝试访问已打开的窗口中的变量。
这是父窗口,它打开一个新窗口,设置对子窗口的引用,然后在另一个onclick事件中,它尝试检索子窗口中定义的变量。
var window1;
//open a window
$('#btnOpen').click(function () {
window1 = window.open('openedwindow', 'window2');
});
//get child variable
$('#btnGetChildVariable').click(function () {
alert(window1.childVariable);
});
这是子窗口中的代码
var childVariable = 'My child';
这可能吗?是window1.childVariable正确的语法,目前它只返回undefined(没有不安全的javascript错误,我已经尝试过它来获取子窗口中的控件,我可以访问它)。 “权威指南”的Javascript页面358似乎表明这是可能的。
答案 0 :(得分:0)
我出错的地方如下,我已经定义了
$(document).ready(function () {
函数和我的变量是在这些函数中定义的。这意味着
var childVariable
没有在全局范围内定义,而是在函数的上下文中定义,因此在它之外无法访问(我认为是一个闭包)。
(它确实有效,但如果我有任何错误,请纠正我)