iOS js调用插件API页面卡死

今天前端遇到一个问题,调用身份证识别插件页面卡死,返回验证插件调用没有问题。

搜索资料发现iOS 手机端加载网页用WKWebView,而webview与js交互时,js调用原生代码在主线程执行,当js使用alert、confirm、prompt这三种弹窗时会造成iOS界面卡死。

卡死的代码截图

卡死原因分析:

身份证识别需要跳转页面调用摄像头在主线程执行,js弹窗也需要在主线程执行,在回调方法里面调用弹窗导致js调用插件API的代码中断执行,只有在弹窗代码执行之后才可以执行,然而主线程正被原生(插件API)占用,就导致页面卡死。

解决方案:

将alert替换console.log或者使用toast 

 

posted @ 2020-11-19 20:39  中控易动  阅读(268)  评论(0编辑  收藏  举报