js实现返回上一页后刷新历史页面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Carrots_vegetables/article/details/82632886

项目中遇到了这样一个问题,在测试环境中项目一切运行正常,但部署到服务器上有几个返回按钮就出问题了。本来的功能是返回上一个页面,但在正式环境上就直接返回首页了。后来在网上找到了下面这个方法解决的。因为本人对前端并不了解虽然解决了但都不知道为啥,所以就抄过来记录一下。

<input type="button" value="返回" onclick="javascript:window.location.replace(document.referrer);"/>

通过以上的js代码可以实现返回上一页并且刷新历史页面,亲测有效。

document.referrer:可以引用到上一个页面,这个属性是由浏览器支持的。在不同情况下值可能和history.back不一样,但是绝大部分情况下跟你想要的结果是一致的。

当用户是通过页面导航内部切换到新页面的(例如标签,或者改变url的代码),document.referrer和history.back指向的页面都是上一个页面。

当用户是通过书签打开网页的,document.referrer是空的,history.back却是可用的,可以返回到点击书签之前的页面。

history.back不一定就不会刷新界面:当缓存不可用的时候,还是会刷新的。window.location.replace也不一定会刷新页面,当服务器”明确”告诉浏览器缓存还可以用的时候,浏览器一般不会再刷新页面。不过在一般情况下,使用window.location.replace替换history.back就能达到想要的效果。

猜你喜欢

转载自blog.csdn.net/Carrots_vegetables/article/details/82632886
今日推荐