在javascript中找不到成员错误

时间:2013-02-08 00:37:52

标签: javascript

以下用于打开和关闭窗口的代码抛出了一个java脚本错误“未找到成员”。在所有机器中都不会发生这种情况,但对于使用IE 8的某些用 以下代码中的winobject.blur()抛出错误。

var winobject=null;   
winobject = window.open('URL','Name',"width=1,height=1,top=2000,left=2000");
if(winobject!=null){
    winobject.blur();
    self.resizeTo(screen.availWidth,screen.availHeight);
    winobject.close();
    ...
}

有任何帮助或建议可以解决此问题吗?

一些其他观察 - 仅当已存在具有“名称”的窗口时才会出现此问题。让我们说如果用户已经关闭了已经打开的弹出窗口,那么代码将运行良好。此外,如果我在当前的一个下添加一个window.open,则在调用blur()时不会抛出任何异常。不确定为什么呢?

1 个答案:

答案 0 :(得分:1)

<击> if (typeof winobject != "undefined")

<击>

我今天刚刚遇到类似问题。试一试,你应该好好去。

编辑:

我发现the following link似乎可以解释发生了什么。因为您自己创建了window,所以IE8的“安全性”阻止了许多常见操作。

我的下一个建议是解决方法是将winobject.blur()winobject.close()括在if (winobject.blur)if (winobject.close())条件中。请注意,在blurcloseif之后没有括号,因为您正在寻找方法的存在而不是调用方法。

不幸的是,我不确定您可以使用哪些替代品来获得相同的效果。但这应该有希望防止错误被抛出。