您的位置:首页 > 移动开发 > 微信开发

ios微信浏览器返回不刷新问题完美解决方法

2017-09-16 11:55 931 查看

开始用的表单提交,返回参数就丢失,换成url跳转,popstate监听 (注释部分)ios10测试始终有问题,继续搜,最后用pageshow,pagehide完美解决(另外说一句:珍爱生命,远离微信和ios)

var wxback = {
init :function(){
//隐藏微信分享按钮等
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
WeixinJSBridge.call('hideToolbar');
WeixinJSBridge.call('hideOptionMenu');
WeixinJSBridge.call('hideMenuItems');
});
if(getSystem()=="ios"){
//this.pushHistory();
/* window.addEventListener("popstate", function(e) { //回调函数中实现需要的功能
//window.location.href = document.referrer+"&"+Math.floor(Math.random()*1000);
//history.go(-1);//不管怎么样都是返回到最初的页面返回了n次
//history.back();//不管怎么样都是返回到最初的页面返回了n次
//window.location = document.referrer;//上一个页面url
//WeixinJSBridge.call('closeWindow');//直接关闭页面
}, false);*/
var isPageHide = false;
window.addEventListener('pageshow', function () {
if (isPageHide) {
window.location.reload();
}
});
window.addEventListener('pagehide', function () {
isPageHide = true;
});
}
},
pushHistory :function () {
var state = {
title: document.title,
url: location.href
}
window.history.pushState(state, state.title, state.url);
console.log(window.history);
},
}

总结

以上所述是小编给大家介绍的ios微信浏览器返回不刷新问题完美解决方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息