protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.WebView> e) { base.OnElementChanged(e); _xwebView = e.NewElement as ExtendedWebView; _webView = Control; if (e.OldElement == null) { _webView.SetWebViewClient(new ExtendedWebViewClient()); } }
/// <summary> /// Page Layout /// </summary> void PageLayout() { try { StackLayout slLayout = new StackLayout { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, BackgroundColor = LayoutHelper.PageBackgroundColor }; slLayout.Padding = LayoutHelper.IOSPadding(0, 20, 0, 0); string url = String.Format("{0}{1}", Services.BaseUri, _selectedProvider.Url); var hwv = new ExtendedWebView { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; //var hwv = new HybridWebView { VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; slLayout.Children.Add(hwv); hwv.Source = new Uri(url); //hwv.RegisterCallback("dataCallback", t => // Device.BeginInvokeOnMainThread(() => // { // /**********************************/ // //THIS WILL WORK FOR PAGE 1 ONLY // /*********************************/ // System.Diagnostics.Debug.WriteLine("!!!!!!!!!!!!!!!!! dataCallback: " + t); // }) //); //hwv.LoadFinished += (s, e) => //{ // /***********************************/ // //THIS WILL WORK FOR PAGE 1 ONLY // //WEAK REFERENCE LOST??? // /***********************************/ // ParseUrlForAccessToken(hwv.Uri.ToString()); // System.Diagnostics.Debug.WriteLine("(!!!!!!!!!!!!!!!!!!!! LoadFinished"); //}; ScrollView scrollContent = new ScrollView { Content = slLayout }; this.Content = scrollContent; } catch (Exception ex) { } }
protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.WebView> e) { System.Diagnostics.Debug.WriteLine("ExtendedWebViewRenderer.OnElementChanged()"); base.OnElementChanged(e); _xwebView = e.NewElement as ExtendedWebView; _webView = Control; if (e.OldElement == null) { _webView.SetWebViewClient(new ExtendedWebViewClient()); //WebSettings settings = _webView.Settings; //settings.JavaScriptEnabled = true; } }
public MainWindow(string url) : base(Gtk.WindowType.Toplevel) { Build(); webView = new ExtendedWebView(); ExtendedWebSettings settings = new ExtendedWebSettings(); settings.g_object_set("user-agent", new GLib.Value("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0")); settings.g_object_set("enable-spell-checking", new GLib.Value(true)); webView.TitleChanged += HandleTitleChanged; webView.Settings = settings; webView.NewWindowPolicyDecisionRequested += HandleNewWindowPolicyDecisionRequested; webView.CreateWebView += HandleCreateWebView; //notifications.Elapsed += HandleElapsed; //notifications.Start(); webView.Open(url); VBox vbox1 = new VBox(); vbox1.PackStart(webView); this.Add(vbox1); this.ShowAll(); }
protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.WebView> e) { base.OnElementChanged(e); if (e.NewElement != null) { _customWebView = Element as ExtendedWebView; Control.Settings.AllowUniversalAccessFromFileURLs = true; _webDelegate = new WebViewClientDelegate(_customWebView); if (!_customWebView.IsPdf) { Control.LoadUrl(_customWebView.Uri); } else { Control.LoadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + _customWebView.Uri); } Control.SetWebViewClient(_webDelegate); } }
public ExtendedWebViewClient(ExtendedWebView xwebView) { _xwebView = xwebView; }
public MyWebChromeClient(ExtendedWebView webView) { _webView = webView; }
public MyWebViewDelegate(ExtendedWebView webView) { _webView = webView; }
public WebViewClientDelegate(ExtendedWebView customWebView) { _customWebView = customWebView; }