如何检测是否在第一个 url 页面加载?

How to detect if on the first url of page load?

我有一个使用历史记录的 JS 单页应用程序 API。用户登陆我的页面并四处导航,然后一堆 pushStates 和 replaceStates 发生在引擎盖下。所有的转换都发生在 JS 中,没有页面重新加载。我的问题是如何检测用户是否返回到我自己的应用程序中的第一个位置,也就是说,再按一次后退按钮会导致浏览器重新加载用户所在的上一个页面?

提前致谢!

您可以使用类似的东西:

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

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

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

但是请注意,如果您试图停止这种转换,这可能很难做到:

how to stop browser back button using javascript