2014-08-29 31 views
1

请你让我知道如何检测任何浏览器后退按钮点击使用Java脚本或jQuery的?如何检测任何浏览器后退按钮点击使用Java脚本或jQuery的?

我使用的是下面:

if(window.history && window.history.pushState){ 
      window.history.pushState({page:this.href}, null, 'this.href'); 
      $(window).on('popstate', function() { 
       event.preventDefault(); 
       $('#releaseLicenseApp').modal(); 
      }); 
     } 

,但它不是在Chrome和IE和Firefox的工作。

+0

你不能。您不得干扰后退和前进按钮的使用。恶意软件网站曾经这样做,以防止人们离开他们的页面。 – Barmar 2014-08-29 08:44:20

+0

@Barmar,我在我的项目中有一个要求,如果我在用户创建页面,并且如果我点击后面的浏览器按钮,那么我需要显示'请在导航到其他页面之前保存您的更改,如果您继续,那么您的未保存的数据会迷路'。那么如何做到这一点? – 2014-08-29 08:47:47

+0

为什么只有后退按钮?如果他们试图关闭页面,他们是不是应该得到这个信息呢?使用'beforeunload'处理程序。 – Barmar 2014-08-29 08:50:44

回答

0

请试试这件,它的工作对铬,IE和firfox

<script type="text/javascript"> 
      window.history.forward(); 
      function noBack() 
      { 
       window.history.forward(); 
      } 
    </script> 
    <body onLoad="noBack();" onpageshow="if (event.persisted) noBack();" onUnload=""> 
1

当您在评论中提到,你只希望当他试图离开页面,通知有未保存的更改用户。这可以使用onbeforeunload

window.onbeforeunload = function(){ 
    return 'Please save your changes before navigating to other page, if you continue then your unsaved data will be lost.'; 
}; 
+0

我的要求是,如果用户点击浏览器后退/前进按钮我想显示“请在导航到其他页面之前保存您的更改,如果您继续,那么您的未保存的数据将会丢失。”与**是**和**否**按钮。如果用户点击是,那么它将导航到后退/前进,否则它将保持在同一页面。 – 2014-08-29 09:09:50

+0

我发布的代码段将完全做到这一点,并创建一个带有两个按钮的确认框。 – JoelP 2014-08-29 09:12:05

+0

不,它是shwoing **离开这个页面**或**留在这个页面**作为按钮。我需要**是**和**否**作为按钮。 – 2014-08-29 09:17:39

相关问题