如何使用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()方法。

更新于:2023年2月16日

14K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告