以下用于打开和关闭窗口的代码抛出了一个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()时不会抛出任何异常。不确定为什么呢?
答案 0 :(得分:1)
<击> if (typeof winobject != "undefined")
击>
我今天刚刚遇到类似问题。试一试,你应该好好去。
编辑:
我发现the following link似乎可以解释发生了什么。因为您自己创建了window
,所以IE8的“安全性”阻止了许多常见操作。
我的下一个建议是解决方法是将winobject.blur()
和winobject.close()
括在if (winobject.blur)
和if (winobject.close())
条件中。请注意,在blur
中close
和if
之后没有括号,因为您正在寻找方法的存在而不是调用方法。
不幸的是,我不确定您可以使用哪些替代品来获得相同的效果。但这应该有希望防止错误被抛出。