原本的功能在安卓和ios9都没有问题,在ios10上突然出问题了:
两个页面A->B,A页面初始是用ajax加载数据,从B返回到A时依照微信的返回机制应该是会刷新A页面
从而再次请求ajax加载数据,但是,ios10的微信从B返回到A时,ajax请求出错,有人说ajax根本就
没有发送,但是,根据打印跟踪我的ajax是有请求并且成功了,参数也是一样的,但是返回的结果
是错了,后台无法正确查询到数据。原因不知道,
但是有一个解决办法,就是ajax请求延迟执行,就基本是不会失败了
setTimeout(function(){
getCouponList();
},300);
续:
在后续的ios10版本里,这个方法又不能用了,返回上一页没有执行上一页的任何代码,相当于是没有重新加载页面了,安卓返回事件是会重新加载,所以我只能监听【返回】按钮事件去刷新那个页面了:
window.addEventListener("popstate", function(e) {
//这是监听到点击返回按钮你要执行的事件,我用location.href 重新加载那个页面了
if(location.pathname.indexOf('couponShow')>-1){
location.href = adminInfo.couponLists_url;
}
}, false);
function pushHistory() {
var state = {
title: "title",
url: "#"
};
window.history.pushState(state, "title", "#");
}