移动端开发人员调试H5

起因:对企业内部应用进行架构重新设计与重构

位置:旧项目中HR助手的H5功能对接上线 网页中ajax请求未做任何异常处理,移动端点击goback未响应事件

错误异常:旧的h5开发人员由于不规范书写代码,在网页的onLoad中直接创建并且向服务器存储了表单,依赖webview的onUnLoad方法去校验表单是否有效。UIWebView 升级 WKWebView 导致网页中onUnLoad 方法失效。

导致:h5表单不断的创建,没有校验,数据未删除。

处理方案一:换回UIWebView(负责人的开发人员都不会这么处理)

处理方案二:h5页面修改表单处理逻辑(涉及到线上的一些功能,未采用)一劳永逸最优方案

处理方案三:WKWebView调用webview的goBack前先调用以下代码

if ([self.webView canGoBack]) {
   // 对工作流应用 onUnload 特殊处理 勿删除
    if ([[self.webView.URL absoluteString] hasPrefix:@"http://bpm.enn.cn"]) {
        [self.webView evaluateJavaScript:@"AWSFormMainUtil.onUnloadEvent()" completionHandler:^(NSString *message, NSError * _Nullable error) {
            ICLog(@"js回调信息 error : %@", error);
        }];
    }

    [self.webView goBack];
} else {
    [self.navigationController popViewControllerAnimated:YES];
}

你可能感兴趣的:(移动端开发人员调试H5)