我需要动态获取和前两页的URL的过程的。试图做这样的事情,但没有运气(使用浏览器,但我需要为所有的浏览器解决方案):
console.log(window.history.entries[window.history.index - 2]);
我能顺利拿到的唯一对象是“history.length”。
这使“未定义”多次太:
for (var i = window.history.length; i >= 0; i--) {
console.log(window.history[i]);
}
更新:我添加[返回]按钮后弹出的服务器,打破我的代码。如果弹出出现,我叫history.go(-2)。我注意到,它总是出现在Chrome和Opera,并创建了解决方法。但它是坏的解决方案,我不知道它涵盖了所有的情况,这就是为什么我要以前的网址比较
if (navigator.userAgent.search("Chrome") > -1 || navigator.userAgent.search("OPR") > -1) {
// insert conditional Chrome code here
console.log("Go Back button: Chrome or Opera detected, go two pages back.");
history.go(-2);
return false;
} else {
console.log("Go Back button: Browser is not Chrome, go one page back.");
history.go(-1);
return false;
}
把这个在您的网站的所有页面..
localStorage.setItem('2PagesAgo', localStorage.getItem('lastPage'));
localStorage.setItem('lastPage', localStorage.getItem('thisPage'));
localStorage.setItem('thisPage', location.href);
然后得到最后和以前的页面只是做..
var lastPage = localStorage.getItem('lastPage');
var 2PagesAgo = localStorage.getItem('2PagesAgo');
这将允许你跟踪的最后两页上你的网站用户访问。任何浏览用户做您的站点外不关你的事。 :)