如何判断页面是通过链接打开还是通过后退按钮返回打开的?

Posted wwwluo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断页面是通过链接打开还是通过后退按钮返回打开的?相关的知识,希望对你有一定的参考价值。

window.performance.navigation.type包含三个值:
0 : TYPE_NAVIGATE (用户通过常规导航方式访问页面,比如点一个链接,或者一般的get方式)
1 : TYPE_RELOAD (用户通过刷新,包括JS调用刷新接口等方式访问页面)
2 : TYPE_BACK_FORWARD (用户通过后退按钮访问本页面)

<script>
window.addEventListener(‘pageload‘, function (event) {
if(event.persisted || window.performance && window.performance.navigation.type == 0){
console.log(‘page:init,navigation type: ‘+ window.performance.navigation.type);
}
if(event.persisted || window.performance && window.performance.navigation.type == 2){
console.log(‘page:reload,navigation type: ‘+ window.performance.navigation.type);
}
},false);
</script>

IE9以上的浏览器,Chrome和Firefox上都可以

以上是关于如何判断页面是通过链接打开还是通过后退按钮返回打开的?的主要内容,如果未能解决你的问题,请参考以下文章

链接到上一个 Flutter 的后退按钮

微信中如何实现APP分享链接判断,实现在默认浏览器打开

打开一个文件夹 如何快速回到前一个页面

当通过链接或后退按钮打开时,强制 JSF 刷新页面/视图/表单

HTML代码片段

HTML代码片段