如何确定location.hash是否从后退按钮或其他方式更改

时间:2011-06-24 10:56:27

标签: javascript mobile history transition back

我正在使用历史插件制作一个webapp,将诸如mysite.com/#news之类的url片段映射到视图。这是一个移动HTML5 JavaScript应用程序,当从mysite.com/#news转到mysite.com/#stuff时,页面之间有一个很好的从右向左滑动的动画。一切都好。

然后用户点击浏览器“后退”按钮,位置变回/ #news,预期转换将从左到右。但是我怎么知道单击“后退”而不是“前进”或点击某些链接?

历史插件只是轮询哈希变化 - 它不知道是什么导致了它。我找不到任何有用的本机事件来绑定和安全阻止访问window.history数组。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

我会在每个页面上存储我所在的页面以及我来自cookie或存储的页面,然后查看我上一页的内容。即在我的网站中保留自己的历史。这可以与难以捉摸的document.referrer结合使用,看看我是否来到没有推荐人的页面,这可能是我使用书签的一个标志