如何检查用户是刷新页面还是导航到其他页面

场景:每当用户离开页面时,我想在本地存储中设置一些变量。

使用window.onbeforeunload我得到用户即将离开页面的事件。 但我希望在用户刷新时设置不同的变量值,并在页面导航上设置不同的值

 var someVar; //when refresh someVar = 1; //When user clicks on any link which is not the same page, someVar =2 

这是否可以检测用户是刷新还是即将离开页面?

根据您的评论,我正在更新我的答案。 您无法在beforeunload事件或任何其他方法上检测导航类型,因为它取决于浏览器。 但我可以为您提供一种在页面加载后检测返回或刷新的方法。 我希望它会有用。

请检查性能导航

 if (performance.navigation.type == PerformanceNavigation.TYPE_RELOAD){ //Reload } if (performance.navigation.type == PerformanceNavigation.TYPE_BACK_FORWARD){ //Back Button }