我有一个使用历史API的JS单页应用。用户登陆我的页面并在其周围导航,并且一大堆pushState
和replaceState
发生在幕后。所有转换都发生在JS中,不会发生页面重新加载。我的问题是如何检测用户是否回到我自己的应用程序中的第一个位置,也就是说,再按一次后退按钮将导致浏览器重新加载用户所在的上一页?
提前致谢!
答案 0 :(得分:4)
您可以通过挂钩onpopstate
事件并检查用户实际导航的位置来检测转换:
https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate
但请注意,如果您尝试停止此类过渡,则可能很难做到:
答案 1 :(得分:0)
您可以使用以下内容:
if(window.location == <the url of the root) {
//Do stuff here
}