【发布时间】:2011-08-10 16:19:11
【问题描述】:
我正在尝试类似下面的东西,
var myWindow = null;
if(!myWindow || myWindow.closed)
{
myWindow = window.open(url, windowId);
}
else
{
myWindow.focus();
}
所有浏览器都返回 window.open() 的窗口引用,但 IE 9 返回 NULL。有没有人有更多关于为什么返回 null 或者可能是 IE9 的解决方法的信息?
【问题讨论】:
-
就在我们以为自己已经过了 IE6 的黑暗岁月的时候...
-
你确定吗?它似乎返回一个对象,而不是 null。
-
我认为如果弹出窗口被阻止,它会返回“null”,例如。如果是自动弹出窗口。但如果它是由点击触发的,那么它就会起作用。
-
目标窗口的 URL 是否在不同的区域(例如 Internet->Intranet,或 Internet->Trusted 等)?
-
@EricLaw:如果我们取消选中 Internet 选项->安全->此区域的安全级别中的启用保护模式,window.open 将返回一个引用对象。我可以获得更多关于这方面的信息吗?我的用例是 mysite.com 打开 someothersite.com 的弹出窗口。 mysite.com 将使用上面给出的 JS 代码。
标签: javascript browser internet-explorer-9