iOS js调用插件API页面卡死
今天前端遇到一个问题,调用身份证识别插件页面卡死,返回验证插件调用没有问题。
搜索资料发现iOS 手机端加载网页用WKWebView,而webview与js交互时,js调用原生代码在主线程执行,当js使用alert、confirm、prompt这三种弹窗时会造成iOS界面卡死。
卡死的代码截图
卡死原因分析:
身份证识别需要跳转页面调用摄像头在主线程执行,js弹窗也需要在主线程执行,在回调方法里面调用弹窗导致js调用插件API的代码中断执行,只有在弹窗代码执行之后才可以执行,然而主线程正被原生(插件API)占用,就导致页面卡死。
解决方案:
将alert替换console.log或者使用toast
作者:中控易动
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。