window.open无法正常工作

时间:2013-09-19 16:31:39

标签: javascript html google-chrome firefox pdf

以下在Fi​​refox中完美运行:

我在javascript中有以下内容:

function newPopup(url) {
    popupWindow = window.open(url, 'popUpWindow', 'height=700,width=800,left=10,top=10');
}

我的网页上有2个锚链接:

    <a href="JavaScript:newPopup('http://blablabla/ReferenceManua.pdf#page=31');
        Reference Manual 31</a>
    <br />
    <a href="JavaScript:newPopup('http://blablablaReferenceManua.pdf#page=61');">
        Reference Manual 61</a>

当点击第一个链接时,会打开一个新窗口,加载pdf文件,url表示必须跳转到第31页,因此它跳转到第31页 - &gt;行

当点击第二个链接时,使用相同的窗口,网址表示必须跳转到第61页,因此它跳转到第61页 - &gt;行

然而在铬中...... 单击第一个链接时,将打开一个新窗口,加载pdf文件,该URL表示必须跳转到第31页,因此它将跳转到第31页 - &gt;行

但是当点击第二个链接时,使用相同的窗口,网址表示它必须跳转到第61页但它仍然停留在第31页 - &gt; ??

在IE中更糟糕: 每次点击任一链接时都会创建一个新窗口。跳转到请求的页面不会发生

如何解决这个问题?

谢谢

2 个答案:

答案 0 :(得分:1)

我认为迫使窗口关闭(如果它是打开的)应解决问题。将您的JS代码更改为:

var popupWindow;

function newPopup(url) {
    if (popupWindow) popupWindow.close();

    popupWindow = window.open(url, 'popUpWindow', 'height=700,width=800,left=10,top=10');
}

答案 1 :(得分:0)

由于您使用相同的窗口名称,因此它在同一窗口中打开 如果你想要一个单独的,那么你可以尝试这个Demo

var randomnumber = Math.floor((Math.random()*100)+1); 
window.open('yoururl',"_blank",'PopUp'+randomnumber+',scrollbars=1,menubar=0,resizable=1,width=850,height=500');