如何检测用户是否单击了“后退”按钮

时间:2010-01-05 20:21:14

标签: javascript jquery javascript-events back-button

当用户进入历史记录1时...如何检测到?然后,提醒“用户点击回来!”

使用绑定(最好是jquery)

5 个答案:

答案 0 :(得分:20)

您一般不能(浏览器安全限制)。您可以判断用户是否离开了页面(onbeforeunload,onunload fire),但除非您已将页面设置为允许,否则无法确定他们去了哪里。

HTML5引入了HTML5 History API;在符合浏览器的情况下,如果用户导航回您网站上较早的“网页”,则onpopstate事件将会触发。

答案 1 :(得分:6)

尝试:

window.onbeforeunload = function (evt) {
  var message = 'Are you sure you want to leave?';
  if (typeof evt == 'undefined') {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}

答案 2 :(得分:2)

window.onpopstate=function()
{
  alert("Back/Forward clicked!");
}

答案 3 :(得分:0)

以下是检测后退按钮点击的步骤

  1. 在正文$('body').on('mousedown' ,'on all li' );

    上注册鼠标按下事件

    2.当mousedown事件发生时,现在设置一个变量。

    3.当您的位置发生变化时,请检查此变量。

  2. 如果IF变量变为真,则意味着列表以其他方式返回后退按钮

    这项工作在我的用例中。此解决方案可能有助于其他人,因为它取决于应用程序设计

答案 4 :(得分:-2)

在您正在查看的页面上,您可以将此段代码添加到onLoad事件中,以将其移回其所在的页面。

if(history.length>0)history.go(+1)

如果您想要提醒,请将其设为

if(history.length>0)alert("the user clicked back!")