返回上一个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 相关文章推荐
JS自动适应的图片弹窗实例
Jun 29 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
Jun 23 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
Jan 21 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
Sep 11 Javascript
Vue自定义指令拖拽功能示例
Feb 17 Javascript
Vue+Mock.js模拟登录和表格的增删改查功能
Jul 26 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
Nov 25 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 Javascript
Vue 3.0中jsx语法的使用
Nov 13 Javascript
vue实现广告栏上下滚动效果
Nov 26 Vue.js
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 程式大小
2006/12/06 PHP
设定php简写功能的方法
2019/11/28 PHP
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
2012/10/12 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
jquery中ready()函数执行的时机和window的load事件比较
2015/06/22 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
2016/10/14 Javascript
input file上传 图片预览功能实例代码
2016/10/25 Javascript
使用JS动态显示文本
2017/09/09 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
Vue实现导航栏菜单
2020/08/19 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
python实现的文件夹清理程序分享
2014/11/22 Python
Python批量转换文件编码格式
2015/05/17 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
python算法题 链表反转详解
2019/07/02 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
日本著名的平价时尚女性购物网站:Fifth
2016/08/24 全球购物
创建服务型党组织实施方案
2014/02/25 职场文书