Exemple #1
0
            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);
            }
Exemple #2
0
            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);
            }
Exemple #3
0
            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);
            }
Exemple #4
0
 private static void V_Navigated(object sender, Xamarin.Forms.WebNavigatedEventArgs e)
 {
 }