浏览器的“后退”按钮转到倒数第二页。为什么?

时间:2010-12-06 22:52:30

标签: javascript browser back-button

添加这个简短的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上),它会弹出一个警告,然后在一段时间后,将用户重定向到新的网址(比如第B页)。

但是,如果有人点击了B页上浏览器的“后退”按钮,而不是像用户那样将用户带到了网页A,那么实际上他需要访问之前>页面A. < / p>

真的很奇怪。 有谁知道为什么?

事先谢谢!

2 个答案:

答案 0 :(得分:2)

window.location.replace(string_url)string_url替换为当前历史记录条目。您应该设置window.location.href

window.location.href = string_url;

答案 1 :(得分:1)

我没有对此进行测试,但请尝试更换:

window.location.replace(string_url)

使用:

window.location.href=string_url

如果这样可以解决问题或是否表现出相同的行为,请告诉我。