1

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

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

卡死的代码截图
image

卡死原因分析:

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

解决方案:

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


中控易动
273 声望2 粉丝

中控易动开发平台提供一站式SaaS服务,构建从移动应用开发、测试、发布、运营、推广的全链路解决方案,打造高效、稳定、灵活的移动应用研发、管理平台。