如何检测用户是否单击了“后退”按钮
当用户进入历史记录1时…我该如何检测到? 然后,提醒“用户点击回来!”
使用绑定(最好是jquery)
你一般不能(浏览器安全限制)。 您可以判断用户是否离开了页面(onbeforeunload,onunload fire),但除非您已将页面设置为允许,否则您无法分辨他们去了哪里。
HTML5引入了HTML5 History API; 在符合浏览器的情况下,如果用户导航回您网站上较早的“页面”, onpopstate事件将会触发。
尝试:
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; }
window.onpopstate=function() { alert("Back/Forward clicked!"); }
以下是检测后退按钮单击的步骤
-
在body
$('body').on('mousedown' ,'on all li' );
注册鼠标按下事件$('body').on('mousedown' ,'on all li' );
2.当mousedown事件发生时,现在设置一个变量。
3.当您的位置发生变化时,请检查此变量。
如果IF变量变为真,则意味着列表会以其他方式返回
这项工作在我的用例中。这个解决方案可以帮助其他人,因为它取决于应用程序设计
在您正在查看的页面上,您可以将这段代码添加到onLoad
事件中,以将它们移回到它们所在的页面上。
if(history.length>0)history.go(+1)
如果你想要警报,那就去做吧
if(history.length>0)alert("the user clicked back!")