javascript中back,-1和go

一、总结

一句话总结:

数据

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)改变也会生成一条新的历史记录。

参考:history对象的一些知识点 - 漆黑小T - 博客园

http://www.cnblogs.com/bug-master/p/6201488.html