Кнопка «Назад» браузера переходит со второй на последнюю страницу.Зачем? - PullRequest
0 голосов
/ 07 декабря 2010

После добавления этого короткого js-кода:

$(document).ready(function() {
    //check to see if it's an external link and if so do the splashpage
    $('a').click(function() {
        var $this = $(this);

        //get the redirect url
        var redirect_url = $this.attr('href');
        var string_url = String(redirect_url);
        if (string_url.indexOf("http") !== -1) {


            $('#external_link_modal').modal({
                overlayClose: true,
                overlayCss: {
                    backgroundColor: "#ebebeb"
                }
            });


            setTimeout(function() {
                window.location.replace(string_url);
            }, 2500);
            return false;
        }

    });
});

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

Однако, когда кто-то нажимает кнопку «Назад» в браузере на странице B, вместо того, чтобы перевести пользователя на страницу A, как это должно быть, он фактически переносит его на страницу, просмотренную перед Страница А.

Это действительно странно.Кто-нибудь знает, почему?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

window.location.replace(string_url) заменяет текущую запись истории на string_url.Вы должны установить window.location.href вместо:

window.location.href = string_url;
1 голос
/ 07 декабря 2010

Я не проверял это, но попробуйте заменить:

window.location.replace(string_url)

с:

window.location.href=string_url

Дайте мне знать, если это решит проблему или это поведение будет таким же.

...