IE中的Javascript window.close()弹出窗口问题

时间:2016-03-21 23:33:51

标签: javascript jquery internet-explorer popupwindow

在我的一个应用程序中,我通过JavaScript window.open() 打开弹出窗口,如果用户打开相同的链接;我想通过 window.close() 关闭之前打开的弹出窗口。

现在,对于下面提到的情况,IE无法关闭之前打开的弹出窗口并且它正在打开多个。

  

1)内部链接:   对于内部链接,这意味着在Popup中打开同一应用程序的不同页面,它适用于所有浏览器。

     

2)外部链接:如果我打开3 rd 方应用程序或任何其他外部网页(如Google.com等)的外部链接,此功能适用于所有其他浏览器,IE(内部资源管理器)除外。

有没有解决方法?....

任何可以帮助您跨浏览器平台实现相同功能的JavaScript代码?....

任何样品都会受到赞赏 先感谢您。

2 个答案:

答案 0 :(得分:0)

您可以将窗口名称作为第二个参数传递给window.open()。如果具有该名称的窗口已打开,则将重复使用。

window.open(myUrl, 'myPopupWinodw');

如果您使用相同的窗口名称,则无需关闭上一个弹出窗口,因为该URL将在同一个弹出窗口中打开。

请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window/open

答案 1 :(得分:0)

希望此代码能为您提供帮助     

function closeWindow() {
 var Browser = navigator.appName;
 var indexB = Browser.indexOf('Explorer');

 if (indexB > 0) {
    var indexV = navigator.userAgent.indexOf('MSIE') + 5;
    var Version = navigator.userAgent.substring(indexV, indexV + 1);

    if (Version >= 7) {
        window.open('', '_self', '');
        window.close();
    }
    else if (Version == 6) {
        window.opener = null;
        window.close();
    }
    else {
        window.opener = '';
        window.close();
    }    
 }
else { window.close(); }        

}