猿问

如何检查用户是否可以返回浏览器历史记录

如何检查用户是否可以返回浏览器历史记录

我想用JavaScript来查看是否有历史记录,我的意思是如果浏览器上有后退按钮可用。



慕容708150
浏览 692回答 3
3回答

翻过高山走不出你

简答:你做不到。从技术上讲,有一种准确的方法,即检查财产:history.previous但是,它不会起作用。这样做的问题是,在大多数浏览器中,这被认为是安全违规,通常只返回undefined。history.length那是其他人所说的属性...... 然而,长度不完全,因为它并不表示工作的地方在你的历史。此外,它并不总是以相同的数字开头。例如,未设置为具有登录页面的浏览器从0开始,而使用朗读页面的另一浏览器将从1开始。大多数情况下,添加了一个调用的链接:history.back();要么 history.go(-1);并且只是期望如果你不能回去,那么点击链接什么都不做。

Qyouu

还有另一种检查方法 - 检查推荐人。第一页通常会有一个空的推荐人......if (document.referrer == "") {     window.close()} else {     history.back()}

米琪卡哇伊

我的代码让浏览器返回一页,如果失败则加载一个后备网址。它还检测主题标签的更改。当后退按钮不可用时,后退网址将在500毫秒后加载,因此浏览器有足够的时间加载上一页。之后加载后备网址window.history.go(-1);会导致浏览器使用后备网址,因为js脚本尚未停止。function historyBackWFallback(fallbackUrl) {     fallbackUrl = fallbackUrl || '/';     var prevPage = window.location.href;     window.history.go(-1);     setTimeout(function(){          if (window.location.href == prevPage) {             window.location.href = fallbackUrl;          }     }, 500);}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答