jquery 页面禁止浏览器后退
在处理一些与隐私有关的项目时,我们必须确保我们的编程没有任何形式的漏洞。在这篇文章中,我们将看到我们如何故意禁用浏览器的返回按钮,使用户无法返回并访问内容。我们有很多场景可以使用这种功能。
例如,在支付网关页面,我们可以禁用后退按钮,这样,如果用户无意中点击了后退按钮,付款就不会被取消。为了在我们的页面上实现这一功能,我们将切换两个页面,之后,我们将限制用户回到第一个页面。
示例: 在同一文件夹中创建两个HTML文件,因为我们使用page1.html和page2.html。在page1.html中添加以下代码。
<!DOCTYPE html>
<html>
<head>
<title>Disabling browser back button</title>
<script src=
"https://code.jquery.com/jquery-3.6.0.min.js"
integrity=
"sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
crossorigin="anonymous">
</script>
</head>
<body>
<a href="test2.html">Next page</a>
<script>
$(document).ready(function() {
function disableBack() {
window.history.forward()
}
window.onload = disableBack();
window.onpageshow = function(e) {
if (e.persisted)
disableBack();
}
});
</script>
</body>
</html>
在第二页,page2.html上添加以下代码。第二页可以是任何东西,第一页很重要,因为我们要使用第一页的脚本。
<!DOCTYPE html>
<html>
<body>
Click on back button of browser or
use the backspace key on keyboard.
</body>
</html>
输出:
你也可以通过使用Vanilla JavaScript来阻止浏览器的返回按钮,为此你可以参考这篇如何使用JavaScript阻止浏览器的返回按钮的文章。