概述:当iOS客户端中webView 与js交互,在主线程执行js脚本时,而js脚本存在alert()、confirm()、prompt()这三种弹窗时会造成iOS界面卡死。
1、造成卡死时的代码如下:
NSString *script = "doSubmit()";
(1)
iOS端实现:
[self.webView stringByEvaluatingJavaScriptFromString:script];
js实现:
doSubmit = function (obj) {
if (confirm("已存在故障反馈,确认继续提交?")){
flag = true;
} else {
flag = false;
}
return flag;
}
(2)
iOS端实现:
dispatch_async(dispatch_get_main_queue(), ^{
[self.webView stringByEvaluatingJavaScriptFromString:script];
});
js实现:
doSubmit = function (obj) {
if (confirm("已存在故障反馈,确认继续提交?")){
flag = true;
} else {
flag = false;
}
r