let eval = "getTarget('\(url.absoluteString)')"
webView.evaluateJavaScript(eval,
completionHandler: {(response, error) in
})
在iOS 11中根本不会调用completionhandler。适用于iOS 10。
有人解决这个问题吗? 要么 是否有evaluateJavaScript的替代方案。
答案 0 :(得分:1)
我在Xamarin(iOS 11)上遇到过这个问题。
我用InvokeOnMainThread
修正了这个问题。
例如:
InvokeOnMainThread(() =>
{
webView.EvaluateJavaScript($"example('{text}')", (response, error) => {}
}
也许你会找到类似的解决方案。
答案 1 :(得分:1)
iOS 11要求在主线程上调用evaluateJavaScript。因此,如果您没有从主线程调用它,请使用DispatchQueue.main.async {}包围您的调用。