WIN 8.1上的IE11:window.open正在打开新的弹出窗口
IE11 on WIN 8.1 : window.open with the same name is opening new popup window
运行下面的HTML页面时,会打开两个弹出窗口。早期版本的IE并非如此。当window.open调用与已打开的窗口名称相同时,它应该返回对已打开窗口的引用。但在IE11中,它打开了另一扇新的窗口。
<html>
<head>
<script type="text/javascript">
window.open("http://www.google.com", "test", "resizable=no,scrollbars=yes,width=260,height=225");
window.open("http://www.google.com", "test", "resizable=no,scrollbars=yes,width=260,height=225");
</script>
</head>
</html>
如果你没有提到url,这种行为就不会发生。(请参阅下面的html页面)。下面的html页面只启动一个弹出窗口。
<html>
<head>
<script type="text/javascript">
window.open("", "test", "resizable=no,scrollbars=yes,width=260,height=225");
window.open("", "test", "resizable=no,scrollbars=yes,width=260,height=225");
</script>
</head>
</html>
当我们提供url或导航到url时,窗口将丢失其名称。如果您尝试使用window.name获取弹出窗口名称,则返回空字符串。
它只在Windows 8.1和IE 11中发生,而在Windows 7和IE 11中没有发生。我需要做什么调整才能在IE11中工作吗?
更新:这似乎是IE漏洞。IE团队正在对此进行调查。https://connect.microsoft.com/IE/feedback/details/797964/ie11-win-8-1-window-open-with-the-same-name-is-opening-new-popup-window#details
更新2:只有当Internet Explorer在提升模式下运行时,才会发生这种情况。
请尝试此操作。。这将检查窗口是否仍然打开或关闭。。
<script type="text/javascript">
var myWindow = null;
if(!myWindow || (myWindow && myWindow.closed)){
myWindow = window.open("http://www.google.com", "test", "resizable=no,scrollbars=yes,width=260,height=225");
}
else{
myWindow.location.href = 'http://www.google.com';
}
</script>
相关文章:
- 正在尝试处理子窗口上的关闭窗口事件
- 重新定位窗口上的页面调整大小
- 从父窗口上的iFrame内容中关闭iFrame
- 刷新父窗口上的子窗口
- jQuery-新窗口上的选择器
- 关闭后,引导模式弹出窗口上的视频继续播放音频
- 从手机禁用悬停的脚本是打开自窗口上的链接,我该如何解决这个问题
- 模式弹出窗口上的 Jquery 验证和成功消息
- 为什么这个错误发生在窗口上的nodejs
- 跟踪由 window.open() 方法打开的窗口上的用户活动
- 隐藏或删除在下拉列表中选择后在颜色框弹出窗口上的复选框
- 同一页面上的 jQuery 弹出窗口上的多个实例
- 窗口上的Meteor回调.open(url)未打开窗口
- 如何删除出现在弹出窗口上的onclick按钮-CSS&JS相关
- 弹出窗口上的Javascript关闭不起作用
- 为什么Internet Explorer会弹出窗口;存储“;存储数据的窗口上的事件
- 模式窗口上的标签标签不起作用
- 如何在不调用onclick的情况下打开新窗口上的链接
- 调整窗口上的图像大小
- 如何捕获显示在弹出窗口上的数据