【发布时间】:2015-05-22 15:22:35
【问题描述】:
我正在使用标准的UIWebView,需要知道stringByEvaluatingJavaScriptFromString: 何时完成。我知道WKWebView 有一个完成处理程序,但我需要使用给定的当前UIWebView。由于该方法需要在主线程上运行,GCD 并没有多大帮助。有什么建议么?
-(void)insertValue:(NSString*)value inWebView:(UIWebView*)webView{
NSString *jsString = [NSString stringWithFormat:kConstantJSString, value];
[webView stringByEvaluatingJavaScriptFromString: jsString];
NSLog("THIS SHOULD LOG WHEN JS HAS EXECUTED");
}
【问题讨论】:
-
但是
[UIWebView stringByEvaluatingJavaScriptFromString:]是同步的,并且在评估所有javascript代码之前不会返回。也许您执行的代码会启动另一个异步任务(在 javascript 中),这就是您觉得它不同步的原因。
标签: javascript ios objective-c uiwebview