我正在尝试使用 WKWebView.EvaluateJavaScript(string, WKJavascriptEvaluationResult)
将我的 JavaScript 代码中的一个值传回到我的应用程序。问题是,代理 WKJavascriptEvaluationResult
从未被调用。以下是我的代码:
C#:
TaskCompletionSource<NSObject> tcs = new TaskCompletionSource<NSObject>();
webView.EvaluateJavaScript(javascript, (result, error) =>
{
tcs.SetResult(result);
});
return tcs.Task.Result;
Javascript:
function a()
{
return "test";
}
a();
应用程序在Wait()
调用上卡住了,因为从未调用WKJavascriptEvaluationResult
。我不知道是否有已知的问题?是否有更好的方法将我的javascript代码中的值传递到应用程序中,或者我使用的不正确?
注意:我仅使用TaskCompletionSource使整个方法同步。