还真没有遇到过这种情况。在我看到过的文档中,open只返回建立的窗口的引用,没有任何失败的说明。
强烈关注!

解决方案 »

  1.   

    会不会是window的大小写问题。
      

  2.   

    clash同志多虑了,Window.open绝对跑不掉try...catch圈,上面已经提过了,我的try...catch没有抓到window.open犯错的马脚。
    我另外测试过了一次,在我那串代码中,传递别的url也一样失败。但是我用的另外一段类似的代码[非常精简]却可以在catch中open新窗口,只是出错信息不同。在原来的例子里,catch中window.open前面加上alert(hPop.closed)可以获取一个false,而新的例子里,一旦窗口关闭,hPop.closed会直接出错。另外,两者的错误也不同,前者是70没有权限,后者是远程服务器不存在或不可用。
      

  3.   

    反复调试了一下,结果出来了:
    window.open确实没有出错,hPop还是一个合法的句柄[假合法],从可以正常访问closed属性可以看出来,但是hPop的document以及其他window下的collection都无法访问了,因为窗口已关闭。
    我只能理解为IE关闭不彻底,hPop并没有完全的被删除,于是在再次window.open之前,用delete hPop来析构了这个窗口,结果就一直正常工作下来了。调试环境:Win98 SE + IE5。