admin管理员组文章数量:1415645
Situation: I invoke a Javascript alert
through the UIWebView
method stringByEvaluatingJavaScriptFromString:
like this...
[myWebView stringByEvaluatingJavaScriptFromString:@"alert('FOOBAR');"];
Problem: iOS displays an alert saying "FOOBAR" as expected, but tapping on the "Close" button does not dismiss the alert.
Why can't I close the Javascript alert? How do I get it to close?
Situation: I invoke a Javascript alert
through the UIWebView
method stringByEvaluatingJavaScriptFromString:
like this...
[myWebView stringByEvaluatingJavaScriptFromString:@"alert('FOOBAR');"];
Problem: iOS displays an alert saying "FOOBAR" as expected, but tapping on the "Close" button does not dismiss the alert.
Why can't I close the Javascript alert? How do I get it to close?
Share Improve this question asked May 23, 2014 at 16:06 user444731user444731 1731 silver badge6 bronze badges1 Answer
Reset to default 8This 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.
本文标签: iosWhy can39t I close or dismiss a Javascript alert in UIWebViewStack Overflow
版权声明:本文标题:ios - Why can't I close or dismiss a Javascript alert in UIWebView? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745242931a2649424.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论