【发布时间】:2011-01-01 19:15:18
【问题描述】:
当用户返回 history-back-1 时...我如何检测到它?然后,提示“用户点击了返回!”
使用绑定(最好使用 jQuery)
【问题讨论】:
-
Alex,你刚刚在stackoverflow.com/questions/2008765/…Don't spam 上问了一个类似的问题。
标签: javascript jquery back-button jquery-events
当用户返回 history-back-1 时...我如何检测到它?然后,提示“用户点击了返回!”
使用绑定(最好使用 jQuery)
【问题讨论】:
标签: javascript jquery back-button jquery-events
您通常不能(浏览器安全限制)。您可以判断用户是否离开页面(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' ); 上注册鼠标按下事件
2.现在在 mousedown 事件发生时设置一个变量。
3.当你的位置改变时检查这个变量。
如果变量更改为 true,则表示列表单击,否则返回按钮
这适用于我的用例。此解决方案可能对其他人有所帮助,因为它取决于应用程序设计
【讨论】:
在您正在查看的页面上,您可以将这段代码添加到onLoad 事件中,以将它们移回他们所在的页面。
if(history.length>0)history.go(+1)
如果你想要警报,那就做吧
if(history.length>0)alert("the user clicked back!")
【讨论】:
history.length > 0 会给你真实的,即使它是一个全新的页面。它为您提供entire length of history包括向后和向前页面。