public override async void OnPageFinished(Android.Webkit.WebView view, string url) { try { _webView = view; if (_extWebView != null) { view.Settings.JavaScriptEnabled = true; await Task.Delay(100); var result = await _extWebView.EvaluateJavaScriptAsync("(function(){return document.body.scrollHeight;})()"); if (int.TryParse(result, out var height)) { _extWebView.HeightRequest = height + 30; } else { _extWebView.HeightRequest = view.ContentHeight; } view.EvaluateJavascript(_javascript, null); } base.OnPageFinished(view, url); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
private async Task OnInjectJavascript(string script) { valueCallback.ResetValue(); webView.EvaluateJavascript(script, valueCallback); await Task.Run(() => { while (valueCallback.Value == null) { } }); }