我正在开发一个使用window.open(..)打开弹出窗口的Web应用程序。我需要使用“window.open”返回的句柄调用已在子窗口中声明的函数,但是我总是收到错误消息“addWindow.getMaskElements不是函数”,好像无法访问子窗口上声明的函数。这在IE和FF中都是如此。我的代码看起来像这样:
function AddEmail(target,category)
{
if(addWindow == null)
{
currentCategory = category;
var left = getDialogPos(400,220)[0];
var top = getDialogPos(400,220)[1];
addWindow = window.open("adicionar_email.htm",null,"height=220px, width=400px, status=no, resizable=no");
addWindow.moveTo(left,top);
addWindow.getMaskElements ();
}
}
我已经通过谷歌和不同的可靠来源阅读了一些内容,显然这应该是能够工作的,但它并没有。还有一件事,子窗口中的函数声明在一个单独的.js文件中,该文件包含在adicionar_email.htm文件中。这会有什么影响吗?不应该有影响...因此,如果有人遇到类似的问题,或者有任何关于我做错了什么的想法,请回复这条消息。提前致谢。
肯尼亚
moveTo
是否有效?对于另一个函数,可能存在竞争条件;如果设置一个计时器等待.getMaskElements
存在,它是否会完成? - Anonymous