ios调用Html内JS alert 不能点击关闭为甚?
ios调用Html内JS alert 不能点击关闭为甚?
This question gave me the most insight to the problem...
Deadlock with GCD and webView
The gist is that the thread handling the JS from the stringByEvaluatingJavaScriptFromString: method and the thread handling the iOS alert view are probably blocking each other, making the "Close" button unresponsive.
My workaround is to defer the JS alert with a setTimeout, something like this...
NSString *jsMyAlert = @"setTimeout(function(){alert('FOOBAR');}, 1);";
[myWebView stringByEvaluatingJavaScriptFromString:jsMyAlert];To avoid any risk of deadlock, it might be better to have the UIWebView trigger an UIAlertView rather than rely on UIWebView to handle the JS alert. The workaround above would be suitable for most debugging purposes though.
齐国经济最富庶,楚国疆土最辽阔,燕国地理位置最安全,韩国最善政治权谋,赵国军事最强,魏国最先崛起。
齐国灭亡最省力,楚国灭亡最屈辱,燕国灭亡最晕蠢,韩国灭亡最无奈,赵国灭亡最惨烈,魏国灭亡最警醒。