这几天做H5的包壳应用,发现手机第一次安装这种应用 弹出了 是否允许访问 网络,即使你点击了允许 也无法正常加载,百度了一堆 也没解决,本来想着做加载超时处理的, 突然发现 wkwebview 设置不了 加载超时(如果有知道的 可否告知一下) 纠结了 半天 终于想了一个 解决方法 比较low 但是 可以解决上面提到的 2个问题
创建属性
第一步
@property(nonatomic,assign)BOOL network;
第二部 写个延时执行的方法 在延时执行的 方法里给出加载失败页面 或者重新加载
// wkwebview 没有延时加载的 方法
__weak typeof(self)weakSelf = self;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(30.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (!weakSelf.network) {//如果为yes 表示加载成功 不继续加载 如果为 no 表示加载失败重新加载
[weakSelfjiazhaiURL];
}
});
第三部 在加载完成的代理方法里 改变 属性值
-(void)webView:(WKWebView*)webView didFinishNavigation:(WKNavigation*)navigation{
//这里配合延时执行 模拟 加载延时 在规定的时间没有加载完成 就是加载失败
self.network=YES;
}
方法比较low 但是 可以勉强解决 如果有更好的方法 欢迎留言 指导 谢谢!!!