当单击后退按钮时,页面将过期
Expiring a page when back button is clicked
我有一个搜索航班的页面。如果用户在浏览器中单击了后退按钮,则应该显示一条错误消息。我尝试了以下代码:-
function preventBack(){window.history.forward();}
setTimeout("preventBack()", 0);
window.onunload=function(){null};
问题是它没有重定向到"此文档已过期"的页面。
无法检测用户是否本机点击了"返回"按钮。你得到
的原因此文件已过期
是在前一个页面上一次又一次地发送一个新表单。这是您的架构中的一个重大缺陷。
但是如果你仍然坚持这种方法,你可以使用这个插件。当反向单击检测到错误页面时,只需重定向到错误页面。(如window.location = '/path/to/error/page.html'
)
你可以试试:
$(window).on('beforeunload', function () {
// Prevent back
alert('This document has been expired.');
window.history.forward();
});
另外,我们还有一个选项:
$(window).unload(function () {
// Prevent back
alert('This document has been expired.');
window.history.forward();
});
更新:<script type="text/javascript">
window.history.forward();
function noBack() { window.history.forward(); }
</script>
</head>
<body onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 单击F5时如何停止页面加载
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击jquery清除输入值
- 单击按钮以等待单击按钮
- 在单击href链接的同时下载文件
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 使图像在单击时展开到不大于浏览器
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何在单击复选框后调用控制器方法
- 单击页面上的链接后高度发生变化
- 使用jquery在单击时在单元格中输入值
- 将纯文本URL转换为可单击链接
- ASP.NET通过单击JavaScript按钮触发c#事件
- 单击更改图标并通过javascript添加一个css类
- 阻止在select2单击时调用ajax
- 复制图像路径以单击它
- 当单击后退按钮时,页面将过期