2

以下在 Firefox 中完美运行:

我在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 页 --> 确定

然后点击第二个链接时,使用相同的窗口,url指示它必须跳转到第61页,所以它跳转到第61页-> OK

然而,在 chrome 中......当点击第一个链接时,会打开一个新窗口,加载 pdf 文件,url 表明它必须跳转到第 31 页,所以它跳转到第 31 页 --> 确定

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

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

如何解决这个问题?

谢谢你

4

2 回答 2

1

我相信强制关闭窗口(如果它是打开的)应该可以解决这个问题。将您的 JS 代码更改为:

var popupWindow;

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

    popupWindow = window.open(url, 'popUpWindow', 'height=700,width=800,left=10,top=10');
}
于 2013-09-19T16:46:32.733 回答
0

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

var randomnumber = Math.floor((Math.random()*100)+1); 
window.open('yoururl',"_blank",'PopUp'+randomnumber+',scrollbars=1,menubar=0,resizable=1,width=850,height=500');
于 2013-09-19T17:23:29.193 回答