public override void OnPageFinished(Android.Webkit.WebView view, string url) { base.OnPageFinished(view, url); // 2020-11-01 20:13:44 解决XF中无法进入 Navigated 事件 var source = new Xamarin.Forms.UrlWebViewSource { Url = url }; // 判断最近有没有 OnReceivedError, 若有异常则停止操作 if (mReceiveError != null && mReceiveError.IsSameRequest(url) == true) { // navigationResult = Xamarin.Forms.WebNavigationResult.Failure; return; } else { mReceiveError = null; } var args = new Xamarin.Forms.WebNavigatedEventArgs ( Xamarin.Forms.WebNavigationEvent.NewPage, source, url, Xamarin.Forms.WebNavigationResult.Success ); mRenderer.ElementController.SendNavigated(args); }
public override void OnReceivedError(WebView view, IWebResourceRequest request, WebResourceError error) { base.OnReceivedError(view, request, error); string url = request.Url.ToString(); // 2020-11-01 20:13:44 解决XF中无法进入 Navigated 事件 var source = new Xamarin.Forms.UrlWebViewSource { Url = url }; var args = new Xamarin.Forms.WebNavigatedEventArgs ( Xamarin.Forms.WebNavigationEvent.NewPage, source, url, Xamarin.Forms.WebNavigationResult.Failure ); mReceiveError = new RequestModel(url); mRenderer.ElementController.SendNavigated(args); }
public override void OnPageFinished(AWebView view, string url) { if (_renderer.Element == null || url == "file:///android_asset/") { return; } var source = new Xamarin.Forms.UrlWebViewSource { Url = url }; _renderer._ignoreSourceChanges = true; _renderer.ElementController.SetValueFromRenderer(Xamarin.Forms.WebView.SourceProperty, source); _renderer._ignoreSourceChanges = false; var args = new Xamarin.Forms.WebNavigatedEventArgs(Xamarin.Forms.WebNavigationEvent.NewPage, source, url, _navigationResult); _renderer.ElementController.SendNavigated(args); _renderer.UpdateCanGoBackForward(); base.OnPageFinished(view, url); }
private static void V_Navigated(object sender, Xamarin.Forms.WebNavigatedEventArgs e) { }