javascript - 如何在后退按钮上停止导航

标签 javascript jquery

我想在点击浏览器的后退按钮时停止导航

$(window).on('beforeunload', function(e){
    realTimePersonalizationTest(e);
});

function realTimePersonalizationTest(e) {
  event.preventDefault();
}

但是这段代码不起作用。它正在导航回上一页。

最佳答案

防止点击后退按钮导航听起来不对。
beforeunload 事件唯一可以做的就是返回一个字符串,以便在用户离开页面之前提示用户。

$(window).on('beforeunload', function(e){
    return "Are you sure? Please, don't leave.";
});

例如打开this JSFiddle demo并尝试关闭它。

出于安全原因,浏览器很可能不支持任何其他实现。后退按钮是“硬件”按钮,应该始终导航到上一页。

您可以使用重定向、 session 变量等在服务器端实现此限制。
但是,为什么需要禁用此行为?我坚信应该有另一种更一致、浏览器和用户友好的解决方案。

关于javascript - 如何在后退按钮上停止导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32648299/

相关文章:

javascript - 当输入框为只读时如何禁用日期选择器

javascript - 从通过 div 加载的页面中选择下拉菜单

asp.net - MVC4 中的 jQuery $.post() 方法

php - 在php中10秒后自动点击提交

javascript - 是否可以打开一个新窗口并将 iframe 嵌入其中?

c# - ASP.NET DatePicker 在 GridView 中不工作

jquery - Bootstrap 标签输入无法使用文档就绪

javascript - CKEditor 变量在控制台中可用,但在 Chrome 用户脚本中不可用?

javascript - 使用 Javascript 访问 iframe 信息

javascript - 异步和等待循环