ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行
https://blog.csdn.net/yang450712123/article/details/79276102
https://blog.csdn.net/Chengbin_Huang/article/details/80271029
https://blog.csdn.net/k491022087/article/details/76576406
ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行
问题描述
在 ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行,造成了很多意外情况,这个问题不能忍;
解决方案
方法一:hack方法,加入iframe强制刷新后,去除
function(title){
var u = navigator.userAgent;
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
document.title= title;//添加标题
if(isIOS){
// hack在IOS微信等webview中无法修改document.title的情况
var $iframe = $('<iframe src="/favicon.ico"></iframe>').on('load', function() {
setTimeout(function() {
$iframe.off('load').remove()
}, 0)
}).appendTo($('body'))
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
方法二:利用 onpageshow 事件触发:
window.onpageshow=function(e){
if(e.persisted) {
window.location.reload()
}
};
---------------------
作者:FE-阿阳
来源:CSDN
原文:https://blog.csdn.net/yang450712123/article/details/79276102
版权声明:本文为博主原创文章,转载请附上博文链接!
* pageshow只使用于ios10以上。
微信公众号开发时,在IOS系统下点击返回按钮,发现返回后的页面是没有经过刷新的,虽然这样是有好处,不用再重新请求页面数据,但是很多时候我们是需要重新去请求页面数据的。
首先我们需要监听手机的系统,然后在监听返回事件,当用户点击返回按钮后,将页面进行强制刷新,代码如下
var ua = navigator.userAgent;
if (ua.indexOf('iPhone') > -1) {//苹果手机
window.onload = function () {
setTimeout(() => {
window.addEventListener("popstate", function (e) {
// alert("我监听到了浏览器的返回按钮事件啦");
self.location = document.referrer;
});
}, 500)
}
}
popstate事件只会在浏览器某些行为下触发, 比如点击后退、前进按钮(或者在JavaScript中调用history.back()、history.forward()、history.go()方法)。当网页加载时,各浏览器对popstate事件是否触发有不同的表现,Chrome 和 Safari会触发popstate事件, 而Firefox不会,因此需要加一个定时器进行延迟,这样就不会因为页面刚一加载就出发popstate事件。
referrer 属性可返回载入当前文档的文档的 URL。
---------------------
作者:安静的对折
来源:CSDN
原文:https://blog.csdn.net/k491022087/article/details/76576406
版权声明:本文为博主原创文章,转载请附上博文链接!
ios 上浏览器返回上一页不会刷新页面问题,页面初始化的方法不执行的更多相关文章
- vue项目中阻止浏览器返回上一页
vue项目中在某个页面阻止浏览器返回上一页,适用移动端.PC端. 使用场景例如: 首页 与 A页面 来回跳转,那样点击浏览器返回时也会来回跳转,本想当页面在首页的时候就不再返回了,所以这个时候 ...
- 不推荐在iOS的浏览器应用上使用click和mouseover
iOS上的Safari也支持click 和mouseover等传统的交互事件,只是不推荐在iOS的浏览器应用上使用click和mouseover,因为这两个事件是为了支持鼠标点击而设计 出来的.Cli ...
- 类似IOS的滑动返回上一级,SwipeBackLayout-android的滑动返回类库
最近,公司在开发App的需求中增加了一个新的需求,要在android的页面中增加向右滑动的时候返回上一级页面.我刚知道这个需求的时候,感觉有点坑,可能设计那边最近接触到知乎的客户端或者是IOS的滑动可 ...
- [moka同学收藏]网页上的“返回上一页”的几种实现代码
我们在制作网页的时候,经常在网页上要用到"返回上一页"的功能.这一功能在制作网页的时候会有多种编码方法,在此,笔者将比较常用的几种编码写作方法在下面列出来,供各位技术人员参考使用. ...
- IOS 禁止侧滑返回上个页面功能
1.首先把顶部左侧返回按钮隐藏掉 //隐藏返回按钮 self.navigationItem.hidesBackButton = YES; 2.1.再禁止页面左侧侧 //禁止页面左侧滑动返回,注意,如果 ...
- IOS微信浏览器返回事件监听问题
业务需求:从主页进入A订单页面,然后经过各种刷新或点标签加载后点左上角的返回直接返回到主页 采取方法:采用onpopstate事件监听url改变,从而跳转到主页 遇到的问题:安卓上测试没问题:苹果手机 ...
- ios端浏览器拍照上传到服务器,图片被旋转90度 php 解决方案
1.可以通过前端进行解决,本案例通过后端解决的 判断请求的浏览器的ua,如果是ios浏览器则进行90度旋转 重点来了: 必须确保检测的图片是ios设备上传的完整图片,不要在前端压缩过的,因为压缩后的图 ...
- 在CentOS 7 上设置返回上一级目录的快捷键为 Backspace
参考这里. 编辑文件: $ vi ~/.config/nautilus/accels 找到这一行: ; (gtk_accel_path "<Actions>/ShellActi ...
- javascript解决在safari浏览器中使用history.back()返回上一页后页面不会刷新的问题
我们知道,在JavaScript中提供了一个window.history.back()方法用于返回上一页,另外也可以使用window.history.go(-1)返回上一页(跳转). 在其他的主流浏览 ...
随机推荐
- Values & Reference:值和引用
var a = 2; var b = a; //b 是 a 的值的一个副本 b++; a; b; var c = [1, 2, 3]; var d = c; // d 是 值[1, 2, 3]的一个引 ...
- TOleControl(WebBrowser1).Visible := False 这样就可以隐藏浏览器控件
TOleControl(WebBrowser1).Visible := False 这样就可以隐藏浏览器控件了. ------------------------------------------- ...
- day11 第一类对象 闭包 迭代器
今日主要内容: 1 . 第一类对象 -->函数名--> 变量名 2. 闭包 -->函数的嵌套 3. 迭代器 --> 固定的思想 for 循环 第一类对象 : 函数对象介意向变 ...
- 【转载】JVM系列一:JVM内存组成及分配
java内存组成介绍:堆(Heap)和非堆(Non-heap)内存 按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时 ...
- Iterator 与ListIterator的区别
Iterator 与ListIterator的区别: 1.Iterator能够迭代Set和List集合的元素,而ListIterator只能迭代List集合的元素 2.Iterator只能前向迭代,L ...
- heightchart配置详解
<div id="container" style="width: 100%; margin: 0 auto"></div><sc ...
- GD2模块-图像处理
GD2模块-图像处理 1.图像处理模块的主要功能: a) 验证码 b) 加盖水印 c) 缩略图 d) 帖子图片签名 e) 在线LOGO制作 2确认PHP是否支持图像处理 检测PHPINFO文件中是否存 ...
- activemq spring 集成与测试
1.下载安装activemq 2.pom依赖配置 3.spring配置 4.生产消息,消费消息(同步消费),监听消息(异步消费) 4.测试 5.参考博客 http://www.cnblogs.com/ ...
- Vim 文件配置
cat ~/.vimrc syntax on set nu set encoding=utf-8 set ts=4 set fileencodings=ucs-bom,utf-8,cp936 set ...
- TensorFlow函数:tf.ones_like
tf.ones_like 函数 ones_like( tensor, dtype=None, name=None, optimize=True ) 定义在:tensorflow/python/ops/ ...