Ajax保留浏览器历史的两种解决方案(Hash&Pjax)
看了这篇文章然后实现了,在一个页面内实现浏览器的回退操作,实际上就是给window.location加上锚点hash以达到欺骗浏览器,操纵历史记录的目的。
在abc.html里分别显示,a,b,c三个内容块,即分别绑定不同的锚点(但不是说页面本身有这个锚点,锚点的Hash只是起到一个引导浏览器将这次的记录推入历史记录栈顶的作用。):
1 show(a); 2 window.location.hash = "#a"; 3 show(b); 4 window.location.hash = "#b"; 5 show(c); 6 window.location.hash = "#c";
根据你的需要判断当前的window.location.hash值来自由的回退到某个页面
1 //当hashchange事件被触发时,判断锚点,回退到你想去得页面 2 3 var hash = window.location.hash; 4 5 window.addEventListener('hashchange', function() { 6 7 if (hash == "#a") { 8 9 ...... 10 11 } else if (...) { 12 13 ...... 14 15 } 16 17 });

浙公网安备 33010602011771号