解决苹果手机返回不刷新问题

问题描述:

   js返回上一页的实现  :  1)   history.go(-1);

2)   history.back();

3)   history.back(-1);

第一种方法在苹果手机上返回上一页并不刷新,导致在上一个页面中的状态未更新,第二三中方法没实验,估计也会有这个问题,在安卓手机上功能正常。

解决办法:

   比如现在有 a.html 和 b.html ,从 a.html 跳到 b.html 进行操作,b.html 中的操作更改状态传到后端保存,返回到a.html时重新请求下数据就可以将对应的状态更新过来。

1、在 a.html 中的ajax请求url中添加随机数

这个方法在微信端ios 系统9之前的版本可以,但是在app中无效。

2、spa(单页路由)

这个方法可以完美解决该问题。

3、window.location.href = ‘./a.html‘

该方法能解决这个问题,但是会带来一个新问题:返回进入死循环

4、监听 pageshowpagehide 方法

感觉这个是最好的办法了,对页面的改动不太大,只需在js中添加如下代码即可

$(function () {
               var isPageHide = false;
                window.addEventListener(‘pageshow‘, function () {
                     if (isPageHide) {
                          window.location.reload();
                      }
               });
               window.addEventListener(‘pagehide‘, function () {
                     isPageHide = true;
               });
          });

原文地址:https://www.cnblogs.com/angleStudy/p/8797526.html

时间: 2024-10-17 10:05:52

解决苹果手机返回不刷新问题的相关文章

解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题

<script type="text/javascript"> //解决IOS返回页面不刷新的问题 var isPageHide = false; window.addEventListener('pageshow', function() { if(isPageHide) { window.location.reload(); } }); window.addEventListener('pagehide', function() { isPageHide = true;

页面返回并刷新的办法

页面返回并刷新: <a href="javascript:location.replace(document.referrer);">......</a> 返回上一页的办法: <a href="location.go(-1);"></a> <a href="location.back();"></a> 页面刷新的方法: <a href="location.go

jsp或servlet返回并刷新页面

2012-04-27 22:39:05|  分类: JAVA |  标签:返回刷新  |举报|字号 订阅 只用window.history.back(-1);返回页面但不会刷新,还是原来的数据 下面的代码可以实现返回上一页并自动刷新 response.sendRedirect(request.getHeader("Referer"));//返回并刷新

带进度条的webview,支持网页前进和返回、刷新,返回键goBack等.

转载请注明出处http://blog.csdn.net/sinat_25689603/article/details/51917294 本文出自yedongyang的博客 1.介绍 一款很简单的webview,头部有进度条,支持网页前进和返回.刷新,返回键goBack等,可定制性强,漂亮简洁大方,集成到软件里很方便,功能还不复杂. 2.截图 3.代码介绍 因为有标题头,所以这里我是继承LinearLayout. public class WebViewLayout extends LinearL

SpringMVC3.2 解决PO返回前台转成JSON时数据Long精度丢失问题

SpringMVC3.2  解决PO返回前台转成JSON时数据Long精度丢失问题 方案 1.自定义一个杰克逊的json转换类 public class LongToStringAdapter extends ObjectMapper { private static final long serialVersionUID = 4402127997078513582L; public LongToStringAdapter() { super(); SimpleModule simpleModu

返回上一页并刷新与返回不刷新代码

返回并刷新 <script>alert("恭喜您,操作成功!"); window.location.href=document.referrer; </script> 返回不刷新 <script>alert("恭喜您,操作成功!"); window.history.back(-1); </script>

js 返回并刷新

chrome 下 history.back()或者history.go(-1)都是返回并刷新的,但是ff浏览器只返回不刷新 location = document.referrer 这个在两个浏览器下都可以实现返回并刷新:

Clojure:解决selmer模板不刷新的问题

当在REPL环境中尝试调试template的时候,会发现每次都需要重启REPL才能看到最新的变化.调查后发现,原来是每次启动REPL的时候,原来的template文件都被放到了target目录中,这样Clojure每次都会调用target中的原始模板,而不去理会模板是否已经发生变化(目录结构如下图所示,项目名称被我马赛克了…). 要解决这个问题也很简单,当启动REPL后,将target中的模板文件删除,这样就会强迫Clojure每次都调用最新的模板了. Clojure:解决selmer模板不刷新

spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500:no convertter for return value of type

问题描述 spring Boot 中文返回给浏览器乱码 解析成问号?? fastJson jackJson spring boot 新增配置解决后台返回 json 到前台中文乱码之后,出现返回json数据报错:no convertter for return value of type 注释掉解决中文乱码的问题之后返回对象json正常 Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWr