iphone的 UIWebView的stringByEvaluatingJavaScriptFromString只能在主线程里面被调用,如果恰好这个js执行时间比较长,就会造成程序卡死。或者 这时候主线程正好有其他任务,也会造成 app 卡死。
解决方案:
1、
参考:http://stackoverflow.com/questions/11593900/uiwebview-stringbyevaluatingjavascriptfromstring-hangs-on-ios5-0-5-1-when-called
改为
[webView performSelectorOnMainThread:@selector(stringByEvaluatingJavaScriptFromString:) withObject:js waitUntilDone:NO]
2、修改 js 方法
使用setTimeout方法执行
demo ()
{
setTimeout (function () {
alert(“test”);
}, 100);
}