Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定网页是否来自历史记录_Javascript_Browser History - Fatal编程技术网

Javascript 确定网页是否来自历史记录

Javascript 确定网页是否来自历史记录,javascript,browser-history,Javascript,Browser History,我想知道在我的网页上,用户是否通过单击链接、输入URL或其他方式正常加载了页面,或者该页面是否来自历史记录,用户是否通过按浏览器中的“后退”按钮(或使用热键…)来加载页面 所以本质上我在寻找一个类似window.location.canGoForward()的方法。这样的东西存在吗?如果没有,解决办法是什么 我不在乎按下后退/前进按钮时会发生什么,网络上有很多关于这方面的内容。我只想查询加载的页面是否是浏览历史中最新的页面。非常感谢您的广泛浏览器支持。您可以计算历史变量的长度,以查看它们是否是您

我想知道在我的网页上,用户是否通过单击链接、输入URL或其他方式正常加载了页面,或者该页面是否来自历史记录,用户是否通过按浏览器中的“后退”按钮(或使用热键…)来加载页面

所以本质上我在寻找一个类似window.location.canGoForward()的方法。这样的东西存在吗?如果没有,解决办法是什么


我不在乎按下后退/前进按钮时会发生什么,网络上有很多关于这方面的内容。我只想查询加载的页面是否是浏览历史中最新的页面。非常感谢您的广泛浏览器支持。

您可以计算历史变量的长度,以查看它们是否是您网站的新内容。这里有一些有用的链接


我已经考虑过做这样的事情,但不想影响答案。这个解决方案仍然意味着我需要监视多个页面视图,并将长度值从一个页面传递到另一个页面以获得差值。这不能单独用于单个页面视图,因为单个长度值是无用的。或者我错过了什么?对不起,我想可能有办法获取当前的历史记录条目,并将其与history.length进行比较。如果他们是新访客,您可以检查设置的cookie?您还可以查看history.next是否有一个值。哈,如果我知道该历史中的当前索引,那就很容易了!:-)拒绝访问history.next。Firebug也没有告诉我任何有用的东西。都是“未定义的”。设置一个名为“已访问”的cookie怎么样?如果已经设置了该cookie,则会显示不同的内容,并为域(或路径)上的所有页面存储cookie。当我在第1页设置cookie并且用户切换到第2页时,cookie已经设置好了,尽管没有转发历史记录。如果用户重新访问我的页面,cookie将从一开始就存在。我的另一个想法是使用DOM向其中写入一个值,然后在加载页面时读取它。如果用户返回,浏览器将恢复包含所有动态内容的DOM。(至少Firefox就是这么做的。)但我还没能让它工作。