javascript中back(-1)和go(-1)的区别
一、总结
一句话总结:
数据
history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面
history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在
1、开发人员可以知道用户浏览的url么?
不可以
出于安全因素的考虑,开发人员无法得知用户浏览过的URL,只能通过用户访问过的页面列表,实现后退和前进,进而模仿浏览器的“后退”和“前进”按钮
2、刷新?
history.back(0)
history.back(0) 刷新
二、页面返回/取消到上个页面back(-1)和go(-1)的区别
back() | 加载 history 列表中的前一个 URL。 |
forward() | 加载 history 列表中的下一个 URL。 |
go() | 加载 history 列表中的某个具体页面。 |
H5页面做多了,自然就会做到页面上的返回功能,返回功能大致有两种:history.back(-1)和history.go(-1),今天我们来说说两种方法的区别。
方法的用途
返回一个页面方法有很多,就好比给返回按钮绑定一个URL,但是如果一个页面可以从很多页面到达,那么这个页面返回的页面就不是固定的,那么绑定固定的URL显然不妥。
方法的区别
history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面
history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在
history.back(0) 刷新
history.back(1) 前进
history.back(-1) 后退
参考:页面返回/取消到上个页面back(-1)和go(-1)的区别 - u011277123的博客 - CSDN博客
https://blog.csdn.net/u011277123/article/details/54580090
三、history对象的一些知识点
history对象可以保存用户的上网的历史记录,即从窗口被打开的那一刻算起。这里有个比较纠结的问题,出于安全因素的考虑,开发人员无法得知用户浏览过的URL,
只能通过用户访问过的页面列表,实现后退和前进,进而模仿浏览器的“后退”和“前进”按钮。
具体实现方法:
//后退一页
history.go(-1);
==history.back();
//前进一页
history.go(1);
==history.forward();
类似还有:
//前进两页
history.go(2);
......
还可以传入字符串,但是不可控哦,比如
history.go("baidu.com");
是你最近打开的百度的链接,不一定是后退还是前进。
history.length,保存了历史记录的数量,注意:当页面的URL改变时,就会生成一条记录。
此外,在IE8+,Opera,Firefox,Safari3+,Chrome中,hash值(location.hash)改变也会生成一条新的历史记录。
http://www.cnblogs.com/bug-master/p/6201488.html