菜单 学习猿地 - LMONKEY

 jquery禁用浏览器后退按钮

jquery禁用浏览器后退按钮

yuheng profile image yuheng ・1 min read

使用Jquery 禁用浏览器的back 和 next 按钮:

有时为了防止用户乱了访问顺序,不得不禁掉浏览器的前进后退按钮

jQuery(document).ready(function () {
    if (window.history && window.history.pushState) {
        $(window).on('popstate', function () {
           // 当点击浏览器的 后退和前进按钮 时才会被触发, 
            window.history.pushState('forward', null, ''); 
            window.history.forward(1);
        });
    }
    //在IE中必须得有这两行
    window.history.pushState('forward', null, '');  
    window.history.forward(1);
});

(推荐学习:jQuery 教程手册

这段代码主要使用js的 window.history 对象;

举个例子:

假如当前页面的url是:http://localhost:28713/SBNext/index.aspx

执行:window.history.pushState('forward', null, 'badu.aspx');

结果: 在浏览器历史记录中添加一条记录http://localhost:28713/SBNext/index.aspx。当前页面的url变成http://localhost:28713/SBNext/badu.aspx ,但是不会刷新页面,也不会检查url是否正确。 这时如果点击 浏览器的back按钮会回退到http://localhost:28713/SBNext/index.aspx页面, 还是当前页面。 所以这就是上面禁用back按钮 的原理。

评论 (0)