javascript返回上一个页面也许你会立马想到几种方案:

1.<a href="javascript:history.go(-1)">返回上一页</a>

2.<a href="javascript" οnclick="history.back(); ">返回上一页</a>

3.<a href="javascript:" οnclick="window.location.href=document.referrer;">返回上一页并刷新</a>
4.<a href="javascript:history.go(-1);location.reload()">返回上一页重,本地刷新</a>

1和2方案,可以返回上一个页面,在安卓手机可以刷新页面(前提是页面的数据是通过ajax请求并渲染的,像php直接嵌套html,通过php直接渲染数据这种方法,是不会刷新页面的),在苹果浏览器包括微信浏览器直接跪了,行不通!

3方案是可以返回上一层页面并刷新页面(安卓,ios都可以),但是,但是,如果你打开多个页面,想返回第一个页面,你会发现,只能在相邻的两个页面来回切换了,返回不了首页。例子 a-b-c-d  d页面通过window.location.href=document.referrer返回到c页面,对于c页面来说b不是他的上一级页面了、上一级页面变成了d;

4方案更不用说了,只会刷新页面,不返回上一个页面。

解决方案:

也许你会想到用onpageshow事件,w3c对onpageshow的事件说明是这样的

但是真实项目中, event.persisted不管是通过ur跳转,还是通过history.go(-1),history.back()都返回false;

很多博客都会给出这样的解决方案

这个方案确实是可以,完美解决了ios返回不刷新页面的问题。但是在安卓手机返回上一个页面的时候,首先执行了一次刷新页面(安卓默认返回上一页面是会刷新页面的),然后又会执行onpageshow方法里面的location.reload();想当于执行了两次刷新,这是不能忍受的。解决方案是:1.先判断用户的终端,只有是ios端才执行onpageshow事件就可以解决问题

代码:

解决ios端返回上一个页面不刷新页面的问题相关推荐

  1. vue返回上一页不刷新页面的方法 / vue缓存页面

    问题: vue框架下,在返回上一页的时候(this.$router.go(-1)) ,默认会让上个页面重新执行一遍生命周期(即被刷新了). 想达到的效果: 返回上一页不刷新页面. 解决方法: 缓存上一 ...

  2. VUE 返回上一页 不刷新页面、重复进入同一页面created重复执行、每次进入页面时都执行created、vue单页面多路由,前进刷新,返回不刷新

    每次进入页面时都执行created.前进刷新,返回不刷新 思路: 利用 keep-alive与vue-router配合使用 ,判断哪些页面需要每次进入刷新,哪些页面不需要每次进入刷新: keepAli ...

  3. js返回上一页和刷新页面

    返回上一页 window.history.go(-1);//返回上一页不刷新 window.history.back(); //返回上一页 只是单纯的返回到上一页 window.location.hr ...

  4. VUE 返回上一页 不刷新页面

    网上有很多种方法,刚开始看的时候都感觉莫名奇妙.不知道他们说啥,理解能力有限,我梳理了一下. 这里我介绍的主要是两种缓存某个页面的方法fang 方法一(页面只刷新一次,任何页面跳转到这个页面都不刷新) ...

  5. vue返回上一页不刷新页面

    项目需求:由于公司产品较多页面加载相对慢,所以每次进行页面的刷新影响客户下单的效率. 1.首先对router.js进行操作 import indexOne from '@/components/ind ...

  6. h5 返回上一页并且刷新页面

    window.history.go(-1) 和 window.history.back(-1) 都用了,安卓会刷新,IOS系统不刷新(IOS会读取浏览器缓存) 下面用了一种比较low的方法,但是好歹实 ...

  7. 返回到上一个页面并刷新页面

    经常遇到一些页面跳转的问题,当我们用window.history.go()/window.history.back()/window.history.forward(),只能实现页面返回上一页,但是却 ...

  8. uni-app返回上一个页面并进行页面刷新

    适用两个不同的页面跳转,返回上一个页面保存并刷新修改后的数据(也解决了uni-app的navigateBack返回不刷新的方法之一) 当前页: 上一页: 思路: 1.用getCurrentPages( ...

  9. java 返回上一个页面_页面返回上一页浏览位置

    1.如果上一页是静态页面,可以用 history.go(-1)方法: go() 方法可加载历史列表中的某个具体的页面. 该参数可以是数字,使用的是要访问的 URL 在 History 的 URL 列表 ...

最新文章

  1. Java Remote Debug(远程调试)
  2. AspectJ的实现机制
  3. myeclipse 安装jad反编译插件
  4. 阿里巴巴开源通用机器学习算法平台Alink
  5. 使用Vanilla.js构建单页应用程序(SPA)网站
  6. io读两个文件,生成list 排重后写本地文件(Java)
  7. vue事件发射与接收(可实现页面传值和非父子组件传值)
  8. CA系统的加解扰与接收控制
  9. Junit4测试报错:java.lang.NoClassDefFoundError: org/junit/runner/manipulation/Filter
  10. 瞬时视场、识别距离、mrtd
  11. 电脑开机出现警报音后提示要按F1才能进入的分析处理
  12. 全球及中国单波束回声探测仪行业十四五发展规划及项目前景评估报告2022-2027年
  13. C#串口开发案例:迈瑞血球分析仪
  14. 游戏直播视频太大了,怎么一键压缩视频?--QVE视频压缩
  15. VMware发布Linux虚拟桌面技术预览版
  16. CF13A 最大公约数加进制转换
  17. linux中如何解压.tgz
  18. Springboot+vue中小企业合同管理系统
  19. PCB设计软件之Protel 99 SE和AD有铜孔及有铜槽做法
  20. java list转set用法

热门文章

  1. 山东省教师职称评定取消计算机,好消息!山东省发布教师职称新规,建立专属职称制度,单独评聘...
  2. python车牌识别系统抬杆_小区车牌识别自动抬杆系统安装要求
  3. Hue(01)——Hue概述
  4. 判断浏览器版本过低代码
  5. task_struct结构体(PCB)描述
  6. plupload实现多文件上传
  7. 亚马逊国际获得AMAZON商品详情 API 返回值说明
  8. BNUOJ 27935 我爱背单词(FFT)
  9. Solidworks装配体零件保存融合为一个实体
  10. EPC电子标签的一些基本知识