0

我的父窗口中有一个对象,其中包含来自先前 ajax 调用的嵌套对象,但为简单起见,假设它看起来像这样:

var myStuff = { id:1, computer:"ZX Spectrum" };

我需要打开一个弹出窗口并将对象的引用传递给它。因此我有:

this.oPopup = window.open("/my/page.htm", "MyPopupTarget", opts, false);
this.oPopup.myStuff = myStuff;

通常这工作正常,但我偶尔会在第二行发生异常,有时当它发现“myStuff”变量不存在时,我会在弹出窗口中发生异常。

我怀疑这是一个时间问题,但我想知道如何可靠地传递 myStuff 对象。我应该将它包装在 setTimeout() 中吗?有我可以收听的活动吗?

谢谢。

4

1 回答 1

0

如果您准确提供正在引发的异常类型,这将有所帮助。

可能是新窗口在填充数据之前访问数据的线程问题。您可以尝试创建窗口对象并分配“myStuff”变量,然后单独调用 Open 方法,这样所有数据都在打开之前被分配。

于 2013-02-20T16:13:28.793 回答