0

我正在尝试访问已打开的窗口中的变量。

这是父窗口,它打开一个新窗口,设置对子窗口的引用,然后在另一个 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页似乎表明这是可能的。

4

1 回答 1

0

我出错的地方如下,我已经定义了

$(document).ready(function () {

函数和我的变量是在这些函数中定义的。这意味着

var childVariable 

没有在全局范围内定义,而是在函数的上下文中定义,因此在函数之外无法访问(我相信是闭包)。

(它确实有效,但如果我有任何错误,请纠正我)

于 2013-04-12T08:25:35.510 回答