javascript – 在IE中打开一个弹出窗口 – “找不到会员”

当用户打开一个在里面打开PDF的弹出窗口时,会发生这种情况. (这部分有效).

然后,用户打开另一个弹出窗口,此时我收到此错误.

有一个good description and a possible solution here

我的问题是:

有更好的解决方案吗?打开一个窗口并立即关闭它对我来说似乎是一个愚蠢的解决方案.

解决方法:

我想我有一个更好的解决方案,不涉及先关闭窗口.问题是,如果您尝试使用空URL(即”)再次打开窗口,IE将不会覆盖窗口(PDF或其他).但是,它会覆盖带有非空URL的PDF.这可能是一个文件,但是关于:空白工作甚至更好(这是空URL通常做的).

根据代码的编写方式,您可能仍然需要try / catch,但这可以消除这种需要:

windowHandle = window.open('about:blank',name,attributes);
windowHandle.document.location.href = url;
windowHandle.focus();

about:blank将强制PDF退出子窗口,并允许您执行您需要执行的操作.将URL和focus()的设置放在windowHandle.onload()处理程序中可能不是一个坏主意,因此处理PDF时没有任何时间问题.即:

windowHandle.onload=function(){
    windowHandle.document.location.href = url;
    windowHandle.focus();
};
上一篇:javascript – 如何使弹出窗口始终位于顶部?


下一篇:java – JComboBox确定项目是否在下拉列表中不可见