如何使用JavaScript阻止浏览器的后退按钮?
阻止浏览器的后退按钮意味着阻止用户返回上一页。有时,出于安全考虑,我们需要阻止用户返回当前页面。
例如,大多数银行网站在您使用网上银行进行交易时不允许您后退。因为如果用户在交易中途返回,可能会产生一些问题。因此,它只允许您完成交易或取消交易并重新开始。
在这里,我们将学习使用JavaScript阻止用户从当前网页返回上一网页的各种方法。在本教程中,我们将学习如何使用JavaScript或jQuery阻止浏览器后退按钮。
使用window.history.forward()方法
window.history.forward()方法允许我们将用户重定向到上一个URL。window对象以栈的形式存储location对象。因此,history对象的forward()方法查找最后一个位置并将用户重定向到该location对象的URL。
语法
用户可以按照以下语法使用history对象的forward()方法。
window.history.forward();
在上文的语法中,window指的是全局对象,每个网页都包含window对象。
示例1
在下面的示例中,我们创建了一个链接,使用HTML <a>标签将用户发送到TutorialsPoint网站的主页。在JavaScript中,我们只是添加了window.history.forward()方法。
现在,无论何时用户从当前网页访问TutorialsPoint网站的主页,他们都将无法返回此页面。
<html> <body> <h2>Preventing the browser's back button using the <i> window.history.forward() </i> method. </h2> <h3>Click the below link. </h3> <a href = "https://tutorialspoint.com/index.htm"> tutorialspoint</a> <script> window.history.forward(); </script> </body> </html>
示例2
在下面的示例中,我们使用了setTimeOut()函数,在特定时间后将用户重定向到上一页。在setTimeOut()函数中,我们在1秒后调用window.history.forward()方法。
因此,在输出中,用户可以观察到,无论何时他们从TutorialsPoint网站的主页返回当前页面,它都将在1秒后再次重定向。
<html> <body> <h2>Preventing the browser's back button using the <i> window.history.forward() </i> method. </h2> <h3>Click the below link. </h3> <a href = "https://tutorialspoint.com/index.htm"> tutorialspoint </a> <script> setTimeout(() => { window.history.forward() }, 1000); </script> </body> </html>
使用window.history.go()方法
window.history.go()方法将用户重定向到上一个位置的URL。
语法
用户可以按照以下语法使用window.history.go()方法来阻止浏览器的后退按钮。
<body onload = "stopBack();"></body> <script> function stopBack() { window.history.go(1); } </script>
在上文的语法中,我们将onload属性添加到HTML <body>元素并调用stopBack()函数。
示例3
在下面的示例中,我们使用了window.history.go()方法将用户重定向到上一页。每当网页加载时,它将调用stopBack函数,并将用户从当前页面重定向到上一页,通过这种方式,我们可以阻止浏览器的后退按钮。
<html> <body onload="stopBack();"> <h2>Preventing the browser's back button using the <i>window.history.go() </i> method.</h2> <h3>Click the below link. </h3> <a href = "https://tutorialspoint.com/index.htm"> tutorialspoint</a> <div id = "output"> </div> <script> var output = document.getElementById('output'); function stopBack() { window.history.go(1); } </script> </body> </html>
我们学习了如何阻止用户返回特定网页。我们使用了window.history.forward()和window.history.go()方法。