Пример #1
0
        protected override void OnElementChanged(ElementChangedEventArgs <EnhancedWebView> e)
        {
            base.OnElementChanged(e);

            Android.Webkit.WebView webView = Control as Android.Webkit.WebView;

            if (Control == null)
            {
                webView = new Android.Webkit.WebView(_localContext);
                SetNativeControl(webView);
            }

            if (e.OldElement != null)
            {
                // ...
            }

            if (e.NewElement != null)
            {
                Dictionary <string, string> headers = Element.CustomHeaders;
                webView.Settings.JavaScriptEnabled   = true;
                webView.Settings.BuiltInZoomControls = false;
                //webView.Settings.MediaPlaybackRequiresUserGesture = false;
                webView.Settings.SetSupportZoom(true);
                webView.Settings.DomStorageEnabled = true;
                EnhancedWebViewClient webViewClient = new EnhancedWebViewClient();
                webViewClient.Username       = Element.Username;
                webViewClient.Password       = Element.Password;
                webViewClient.Headers        = headers;
                webViewClient.LoadCompleted += (url) =>
                {
                    Element.TriggerEnhancedWebViewLoadCompleted(url);
                };
                webViewClient.LoadError += (errorMsg) =>
                {
                    Element.TriggerEnhancedWebViewLoadError(errorMsg);
                };
                webView.SetWebViewClient(webViewClient);

                if (Element.Source != null)
                {
                    if (Element.Source.GetType() == typeof(UrlWebViewSource))
                    {
                        UrlWebViewSource source = Element.Source as UrlWebViewSource;
                        webView.LoadUrl(source.Url, headers);
                    }
                }

                Element.RefreshPageAction = new Action(() =>
                {
                    webView.Reload();
                });
            }
        }
Пример #2
0
        protected override void OnElementChanged(ElementChangedEventArgs <EnhancedWebView> e)
        {
            base.OnElementChanged(e);

            web.Webkit.WebView webView = Control as web.Webkit.WebView;

            if (Control == null)
            {
                webView = new web.Webkit.WebView(_localContext);
                SetNativeControl(webView);
            }

            if (e.OldElement != null)
            {
                // ...
            }

            if (e.NewElement != null)
            {
                Dictionary <string, string> headers = Element.CustomHeaders;
                webView.Settings.JavaScriptEnabled   = true;
                webView.Settings.BuiltInZoomControls = false;
                webView.Settings.SetSupportZoom(true);
                EnhancedWebViewClient webViewClient = new EnhancedWebViewClient();
                webViewClient.Username = Element.Username;
                webViewClient.Password = Element.Password;
                webViewClient.Headers  = headers;
                webView.SetWebViewClient(webViewClient);
                if (Element.Source != null)
                {
                    if (Element.Source.GetType() == typeof(UrlWebViewSource))
                    {
                        UrlWebViewSource source = Element.Source as UrlWebViewSource;
                        webView.LoadUrl(source.Url, headers);
                    }
                }
            }
        }