今天前端遇到一个问题,调用身份证识别插件页面卡死,返回验证插件调用没有问题。
搜索资料发现iOS 手机端加载网页用WKWebView,而webview与js交互时,js调用原生代码在主线程执行,当js使用alert、confirm、prompt这三种弹窗时会造成iOS界面卡死。
卡死的代码截图
卡死原因分析:
身份证识别需要跳转页面调用摄像头在主线程执行,js弹窗也需要在主线程执行,在回调方法里面调用弹窗导致js调用插件API的代码中断执行,只有在弹窗代码执行之后才可以执行,然而主线程正被原生(插件API)占用,就导致页面卡死。
解决方案:
将alert替换console.log或者使用toast
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。