Принудительная перезагрузка html-страницы после небольшого ожидания - PullRequest
0 голосов
/ 02 января 2009

У меня есть HTML-страница A и ссылка на странице, которая открывает страницу B в новом окне. Как перезагрузить страницу А при нажатии и открытии этой ссылки?

EDIT:

Я должен был быть более ясным. Страница B открывается в новом окне, а не как всплывающее окно. У рассматриваемой гиперссылки ее целевой атрибут установлен на _blank. Поняв ответы, которые я получил (спасибо, ребята!), Я попытался установить onclick = "window.location.reload ()", и он отлично работает.

Однако у меня есть проблема. На самом деле совсем другой вопрос. Как сделать так, чтобы перезагрузка страницы A ожидала загрузки страницы, открытой в новом окне (страница B)?

Ответы [ 5 ]

3 голосов
/ 02 января 2009

Примерно так:

<a href="javascript:window.open('pageB.htm');window.location.reload();">open page b</a>
1 голос
/ 02 января 2009

Я не совсем уверен, если это то, что вы хотите, основываясь на вашей формулировке, но если вы хотите перезагрузить открывающееся окно по ссылке во всплывающем окне, попробуйте

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

Редактировать, основываясь на ваших новых комментариях, просто используйте код выше в теле загрузки нового окна

<body onload="self.opener.location.href = self.opener.location.href;">
1 голос
/ 02 января 2009

Самый простой способ - сделать

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

Если я правильно помню, что должно открыться окно, а затем, поскольку возврат не был отменен, перезагрузится загрузка страницы.

0 голосов
/ 19 апреля 2012

Попробуйте это:

<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>
0 голосов
/ 02 января 2009

Вы можете использовать setTimeout() для задержки перезагрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...