javascript - 浏览器的 'Back' 按钮转到倒数第二页。为什么?

标签 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之前查看的页面。

确实很奇怪。 有谁知道为什么吗?

先谢谢了!

最佳答案

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

window.location.href = string_url;

关于javascript - 浏览器的 'Back' 按钮转到倒数第二页。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371751/

相关文章:

javascript - 具有复杂嵌套数据结构和动态键的 AngularJS ng-repeat 指令

Javascript window.alert 更改为文本

javascript - 使用 JavaScript 发送一个窗口到后台

ios - 使用反向动画将后退按钮位置从左栏按钮更改为右栏按钮

javascript - asp.net mvc上传文件时如何获取客户端文件路径?

javascript - 从对象访问属性时出现控制台错误

testing - 如何使用浏览器同时测试 WebApps 的多个角色

flash - 播放闪光灯时音频失真

javascript - 如何查找用户是否单击了浏览器后退按钮或刷新按钮

c# - Safari 和 Chrome 修改后退按钮上的表单数据