如何检测页面的第一个URL是否加载?

时间:2016-05-27 12:27:24

标签: javascript single-page-application browser-history html5-history

我有一个使用历史API的JS单页应用。用户登陆我的页面并在其周围导航,并且一大堆pushStatereplaceState发生在幕后。所有转换都发生在JS中,不会发生页面重新加载。我的问题是如何检测用户是否回到我自己的应用程序中的第一个位置,也就是说,再按一次后退按钮将导致浏览器重新加载用户所在的上一页?

提前致谢!

2 个答案:

答案 0 :(得分:4)

您可以通过挂钩onpopstate事件并检查用户实际导航的位置来检测转换:

https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate

但请注意,如果您尝试停止此类过渡,则可能很难做到:

how to stop browser back button using javascript

答案 1 :(得分:0)

您可以使用以下内容:

if(window.location == <the url of the root) {
    //Do stuff here
}