移动端开发人员调试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];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容