在 Xamarin.Forms WebView 中执行 Javascript

Execute Javascript in Xamarin.Forms WebView

我正在尝试使用此处描述的教程在我的 Xamarin.Forms WebView 中执行 Javascript:

https://www.xamarinhelp.com/xamarin-forms-webview-executing-javascript/

Android 效果很好,但我在 iOS 上设置时遇到问题。在 iOS 自定义渲染器中,我基本上 return js 执行结果由

return Task.FromResult(this.EvaluateJavascript(js));

从去年开始 iOS api 发生了变化,这行在调试时会抛出错误。事实证明,我应该使用 WkWebViewRenderer 而不是 WebViewRenderer。我尝试更改,但 EvaluateJavascript() 方法现在需要两个参数...一个是 js 字符串,一个是 WKJavascriptEvaluationResult 处理程序...

我不知道如何修改教程中的代码...有人可以帮忙吗?

应该是这样的:

    WKJavascriptEvaluationResult handler = (NSObject result, NSError error) => {
        if (error != null)
        {
            Console.WriteLine(result.ToString());
        }
    };
    webView.EvaluateJavaScript(JSCode, handler);
    

我刚换了

return Task.FromResult(this.EvaluateJavascript(js));

至:

var x = await webView.EvaluateJavascriptAsync(js);
return x;

现在可以使用了