1.window.location.reload();刷新当前页
2.window.history.go(-1);返回上一页
3.window.history.back();返回上一页
window.history.back();后退后返回的不只是前一个页而是前一个页的状态。如果一个页我修改了3次那必须后退3次才能回到前一个页。而且数据库中删除的数据依然显示在上面感觉非常的不实用。
解决办法:history.back()后再加一个reload()这样就可以回到刷新后的页面了
即:history.back();location.reload();如果有框架即在前面加上该框架名即可
4.document.referrer;返回上一级页面并刷新
做微商城的时候遇到一个这样的问题,选择收货地址时点击添加地址跳转到添加地址页,地址添加完毕想跳转到上一页,返回上一页后需要刷新数据, window.location.href=document.referrer;
5.在JavaScript中,document对象有很多属性,其中有3个与对网页的请求有关的属性,它们分别是URL、domain和referrer,
URL属性包含页面完整的URL,domain属性中只包含页面的域名,而referrer属性中则保存着链接到当前页面的那个页面的URL。
前面两个很好理解,而referrer属性简单来说就是上一个页面的URL。
如下:返回上一个页面按钮
var back = document.getElementById('back'); //假设该返回按钮元素id为back
back.onclick = function(){
history.back(); //返回上一个页面,也可以写成history.go(-1)
};
// 或者
<a id="back" href="javascript:history.back();" rel="external nofollow" ></a>
虽说感觉上面这样已经基本上实现了返回上一页的功能,但是有一种情况没有考虑到,就是假如该页面是别人分享过来的而不是通过其他页面进入的呢?那么点击该按钮将不会有任何反应,因为此时history对象中不存在历史记录,也就是说这是你浏览器窗口打开时浏览的第一个页面。为了优化用户体验,这里通常有两种解决方案。一种是在打开第一个页面时不显示返回上一页按钮,另一种是点击直接跳转到网站首页,这可以根据产品需求来选择合适的方案。
这里假设选择第一种方案,我们可以这样写段JS:
if(document.referrer){
back.style.display = 'block'; //默认让其隐藏,当referrer属性不为空时让其显示
}
//分享页 返回上一页
if (typeof document.referrer === '') {
// 没有来源页面信息的时候,改成首页URL地址
$('.jsBack').attr('href', '/');
}
其实判断当前页面是否是用户一开始打开的页面,方法也不止通过判断referrer属性这一种方法,还可以通过history.length是否为零来判断。
转:https://www.cnblogs.com/zhangqie/p/8137047.html
转:https://www.jianshu.com/p/2137a778dffe