单击链接的IE会一次又一次地弹出,而不是在同一屏幕中显示

时间:2014-07-04 06:11:59

标签: javascript internet-explorer window.open

当我点击我的应用程序标题中的链接时,它应该打开一个弹出屏幕,但是当我从另一个页面点击相同的链接时,它会在另一个弹出窗口中打开,即使我没有关闭前一个。此问题仅在IE中流行,而在其他浏览器中不存在。

function popUpForInvoice(url) 
{
   var csrfName = document.getElementById("csrf").getAttribute("name");
   var csrfToken = document.getElementById("csrf").value;
   var newUrl = "/ecommerce/mitac/" + url + "&"+ csrfName + "=" + csrfToken;
   var left = (screen.width/2)-(550/2);
   var top = (screen.height/2)-(550/2);
   var  ua = window.navigator.userAgent;
   var msie = ua.indexOf("MSIE");
   if (msie > 0)      
       window.open(newUrl,'_blank','toolbar=0,scrollbars=yes,location=0,statusbar=0,menubar=0,resizable=no,width=540,height=600,left ='+left+',top ='+top+'');
else                 
       window.open(newUrl,'about:blank','toolbar=0,scrollbars=yes,location=0,statusbar=0,menubar=0,resizable=no,width=540,height=600,left ='+left+',top ='+top+'');
}

1 个答案:

答案 0 :(得分:1)

  1. _blank因为目标是设计为每次都打开一个新窗口
  2. about:blank不是有效目标 - 请使用mywindow之类的内容重新使用
  3. 无论如何都不需要在IE11中失败的代理测试。
  4. 您的某些参数不是必需的,参数
  5. 中不允许使用空格

    这应该有效

    删除

    var  ua = window.navigator.userAgent;
     var msie = ua.indexOf("MSIE");
     if (msie > 0)      
           window.open(newUrl,'_blank','toolbar=0,scrollbars=yes,location=0,statusbar=0,menubar=0,resizable=no,width=540,height=600,left ='+left+',top ='+top+'');
    else                 
    

    只是

    window.open(newUrl,'mywindow',
     'scrollbars,resizable=no,width=540,height=600,left='+left+',top='+top);
    

    请注意,您可能需要关注窗口,否则在第二次及以后打开时它将保持不变