返回上一个url并刷新界面的js代码


Posted in Javascript onSeptember 12, 2020

JS 重载页面,本地刷新,返回上一页

<a href="javascript:history.go(-1)" rel="external nofollow" >返回上一页</a>
<a href="javascript:location.reload()" rel="external nofollow" >重载页面,本地刷新</a>
<a href="javascript:history.go(-1);location.reload()" rel="external nofollow" >返回上一页重载页面,本地刷新</a>

history.back();
back();

上面两个方法不行,多次尝试后,用下面的解决了

location.href=document.referrer;

返回前二页并刷新的JS代码应该怎样写。

js 方法

<a href="#" rel="external nofollow" onclick="self.location=document.referrer;">返回</a>

asp自动返回并刷新的方法:

response.Write("<script language=javascript>self.location=document.referrer;</script>")

一般用于向一个页面提交action后返回前一页并刷新!

php做法

echo "<script>alert('退出成功!');location.href='".$_SERVER["HTTP_REFERER"]."';</script>";

设置删除成功后返回前一页,并刷新

if($query)
{
$page="listrenwu.php";
<!---这种方式不会刷新,只会原样返回-->
echo "<script>alert('删除成功');history.go(-1)</script>";
<!--//设置删除成功后返回前一页,并刷新-->-->
echo "<script>alert('删除成功');window.location = "".$page."";</script>";
}

这个算是php教程中最简单的哦,不多说你懂的。

下面是其他网友的补充

使用history.length判断是否有上一页面,如果没有就返回到指定页面

使用history.length判断是否有上一页面,如果没有就返回到指定页面,一般是返回到首页

function goBack(){
  if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)){ // IE
    if(history.length > 0){
      window.history.go( -1 );
    }else{
      window.location.href = "/";
    }
  }else{ //非IE浏览器
    if (navigator.userAgent.indexOf('Firefox') >= 0 ||
      navigator.userAgent.indexOf('Opera') >= 0 ||
      navigator.userAgent.indexOf('Safari') >= 0 ||
      navigator.userAgent.indexOf('Chrome') >= 0 ||
      navigator.userAgent.indexOf('WebKit') >= 0){
 
      if(window.history.length > 1){
        window.history.go( -1 );
      }else{
        window.location.href = "/";
      }
    }else{ //未知的浏览器
      window.history.go( -1 );
    }
  }
}

从这里想到一个用户的特殊需求,那就是在公众号中输入生日后 ,关闭H5,让公众号弹出二维码。当时说不可能,现在看来自己太年轻了。

window.opener=null;
window.close();

接着补充

前言

使用单页面的话 document.referrer 一直为空(.html或者ssr网页则存在值)
History.length 表示用户历史会话页面的数量。当用户从新的标签页或框架载入页面其值为“1”,每访问一个页面该值增加“1”。
因为history.length 的数量只增不减,根本不能拿来做判断。

场景

需要判断用户从微信浏览器通过浏览器打开当前网页,如果是则当用户点击返回按钮时返回到web应用(站点)首页

- 或:是否有前一页
- 通过history.length
- 不准确,如果用户曾经打开过,则会存在更多的history.length
- 如果用户不曾打开过,且直接从微信浏览器再使用系统浏览器打开,则history.length === 1(其中手机浏览器中为1,chrome控制台为2)
- 或:判断用户是否访问过
- 通过cookie或是sessionStorage

- https://oldj.net/blog/2013/08/11/browser-history-sniffing

- 或:判断 history 中是否存在指定url
- 没有找到相关方法
- 或:是否是通过微信浏览器唤醒设备浏览器再打开到当前网页的
- 没有找到相关方法
肯定还有其他方法实现 `当用户点击返回按钮时返回到web应用(站点)首页` 这个功能的,现在脑袋有点晕,如果有的话,也希望能得到分享,非常感谢。
对了,Vuex能否判断呢?实在是没有找到相关方法,或许有。

最后

别忘记监听浏览器的返回事件啦 :

window.addEventListener("popstate", function(e) {
alert("我监听到了浏览器的返回按钮事件啦");//根据自己的需求实现自己的功能
}, false);

我是如何解决的

当用户在微信中打开web应用(站点)时,则提示用户使用浏览器打开;
再配合Cookie和sessionStorage做缓存了router记录来判断用户点击返回按钮时是否需要直接回到home页;

到此这篇关于返回上一个url并刷新界面的js代码的文章就介绍到这了,更多相关js返回上一个url内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
Mar 16 Javascript
JavaScript中的this,call,apply使用及区别详解
Jan 29 Javascript
最棒的Angular2表格控件
Aug 10 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
Dec 23 Javascript
javascript DOM的详解及实例代码
Mar 06 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
Oct 25 Javascript
vue检测对象和数组的变化分析
Jun 30 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
elementUI 设置input的只读或禁用的方法
Oct 30 Javascript
微信小程序 腾讯地图显示偏差问题解决
Jul 27 Javascript
前端如何实现动画过渡效果
Feb 05 Javascript
Vue和React有哪些区别
Sep 12 #Javascript
浅谈vue项目利用Hbuilder打包成APP流程,以及遇到的坑
Sep 12 #Javascript
解决vue项目 build之后资源文件找不到的问题
Sep 12 #Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
Sep 12 #Javascript
vue v-on:click传递动态参数的步骤
Sep 11 #Javascript
vue Cli 环境删除与重装教程 - 版本文档
Sep 11 #Javascript
在vue中使用cookie记住用户上次选择的实例(本次例子中为下拉框)
Sep 11 #Javascript
You might like
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
React.js入门实例教程之创建hello world 的5种方式
2016/05/11 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
vue实现图片加载完成前的loading组件方法
2018/02/05 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
JS轮播图的实现方法
2020/08/24 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
python将ip地址转换成整数的方法
2015/03/17 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
python文件和文件夹复制函数
2020/02/07 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
详解基于Scrapy的IP代理池搭建
2020/09/29 Python
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
师范毕业生自荐信
2013/10/17 职场文书
技术人员面试提纲
2013/11/28 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js