2014-07-04 37 views
0

當我點擊我的應用程序標題中的鏈接時,它應該打開一個彈出窗口,但是當我從另一個點擊相同的鏈接即使我沒有關閉早期的頁面,它也會在另一個彈出窗口中打開。這個問題只在IE瀏覽器中占主導地位,而不是在其他瀏覽器中。點擊一個鏈接的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
  1. _blank爲目標設計爲每次
  2. about:blank不是一個有效的目標打開一個新窗口 - 使用類似mywindow重用
  3. 無需代理測試它的方式無論如何,IE11將會失敗。
  4. 你的一些參數是沒有必要和空間不是在參數允許

這應該工作

刪除

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); 

待辦事項請注意,您可能需要關注窗口或它會保持在第二次及以後打開的時候

+0

感謝mplungjan。 – user3751955

相關問題