0

我有一个html页面A和页面中的一个链接,它在新窗口中打开页面B。如何在单击并打开此链接时重新加载页面 A?

编辑:

我应该更清楚。页面 B 在新窗口中打开,而不是作为弹出窗口。有问题的超链接将其目标属性设置为 _blank。从我得到的答案中获取线索(谢谢大家!),我尝试设置 onclick = "window.location.reload()" 并且它工作得很好。

但是我有一个问题。实际上完全是另一个问题。如何确保页面 A 的重新加载等到在新窗口中打开的页面(页面 B)加载?

4

5 回答 5

3

像这样的东西:

<a href="javascript:window.open('pageB.htm');window.location.reload();">open page b</a>
于 2009-01-02T13:50:07.567 回答
1

最简单的方法是做

<a href="# " onClick="window.open('newPage.htm','window','width=400,height=200')">link</a>

如果我没记错应该打开窗口然后由于返回没有被抑制将重新加载加载页面。

于 2009-01-02T13:47:24.530 回答
1

根据您的措辞,我不确定这是否是您想要的,但是如果您想从弹出窗口中的链接重新加载打开窗口,请尝试

self.opener.location.href = self.opener.location.href;

编辑,根据您的新评论,只需在新窗口的正文 onload 中使用上面的代码

<body onload="self.opener.location.href = self.opener.location.href;">
于 2009-01-02T13:49:49.567 回答
0

您可以使用setTimeout()延迟重新加载。

于 2009-01-02T18:16:19.620 回答
0

尝试这个:

<script type="text/javascript">
function openPage(elem) {
    function reloadCurrentPage() {
        location.reload();
    }

    var page = window.open(elem.href, '_blank');
    page.onload = function() {
        reloadCurrentPage();
    }

    if (/MSIE/.test(navigator.userAgent)) { // fix for IE
        var timer = setInterval(function() {
            if (page.document.readyState == 'complete') {
                clearInterval(timer);
                reloadCurrentPage();
            }
        }, 100);
    }
}
</script>

<p><a href="second.html" onclick="openPage(this); return false;">second.html</a></p>
于 2012-04-19T11:06:02.310 回答