在java脚本中找不到成员错误

Member not found error in java script

本文关键字:成员 错误 找不到 java 脚本      更新时间:2023-09-26

下面打开和关闭窗口的代码抛出了一个java脚本错误"Member not found"。这并不是发生在所有的机器上,但对于某些使用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()时不会引发异常。不知道为什么?

if (typeof winobject != "undefined")

我今天刚在工作中遇到这样的问题。试试看,你应该可以走了

编辑:

我发现了下面的链接,它似乎解释了发生了什么。因为你是自己创建window的,IE8的"安全性"阻止了它上的许多常见操作。

我的下一个变通建议是用if (winobject.blur)if (winobject.close())条件包围winobject.blur()winobject.close()。请注意,在ifblurclose之后没有括号,因为您在寻找方法的存在,而不是调用方法。

不幸的是,我不确定你可以用什么替代品来获得同样的效果。但这应该有望防止出现错误。