我需要动态获取并处理前两页的网址。试图做这样的事情,但没有运气(使用Chrome,但我需要所有浏览器的解决方案):
console.log(window.history.entries[window.history.index - 2]);
我能成功获得的唯一对象是" history.lenght"。
这给了" undefined"多次:
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;
}
答案 0 :(得分:2)
将它放在您网站的所有页面上..
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');
这样您就可以跟踪用户在您的网站上访问的最后2个页面。任何浏览用户在您网站之外进行的操作都不符合您的要求。 :)