1
我正在使用標準UIWebView
,並且需要知道何時stringByEvaluatingJavaScriptFromString:
已完成。我知道一個WKWebView
有一個完成處理程序,但我需要使用我給出的當前UIWebView
。由於該方法需要在主線程上運行,所以GCD不是很有幫助。有什麼建議麼?告訴stringByEvaluatingJavaScriptFromString:已完成
-(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中),這就是爲什麼你覺得不同步。 – Cristik