protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (e.PropertyName == HybridWebView.UriProperty.PropertyName)
            {
                JivoDelegate = MainActivity.jivoSdk.JivoDelegate;

                DisplayMetrics dm = new DisplayMetrics();
                ((Activity)JivoDelegate).GetSystemService(Context.WindowService).JavaCast <IWindowManager>().DefaultDisplay.GetMetrics(dm);
                float density = dm.Density;


                OnGlobalLayoutListener list = new OnGlobalLayoutListener(Control, density);
                Control.ViewTreeObserver.AddOnGlobalLayoutListener(list);


                progr = new ProgressDialog(Control.Context);
                progr.SetTitle("JivoSite");
                progr.SetMessage("Загрузка...");

                WebSettings webSettings = Control.Settings;
                webSettings.JavaScriptEnabled = true;
                webSettings.DomStorageEnabled = true;
                webSettings.DatabaseEnabled   = true;

                //пробрасываем JivoInterface в Javascript
                Control.AddJavascriptInterface(new JivoInterface(Control, JivoDelegate), "JivoInterface");
                Control.SetWebViewClient(new MyWebViewClient(JivoDelegate, progr));

                Control.LoadUrl(/*string.Format("file:///android_asset/Content/{0}", Element.Uri)*/ Element.Uri);

                //Control.AddJavascriptInterface(new JSBridge(this), "jsBridge");
                //Control.LoadUrl(/*string.Format("file:///android_asset/Content/{0}", Element.Uri)*/Element.Uri);
                //InjectJS(JavaScriptFunction);
            }

            if (e.PropertyName == HybridWebView.UriScriptProperty.PropertyName)
            {
                Control.LoadUrl(/*string.Format("file:///android_asset/Content/{0}", Element.Uri)*/ Element.UriScript);
            }
        }
 public JivoInterface(WebView appView, IJivoDelegate JivoDelegate)
 {
     this.mAppView     = appView;
     this.JivoDelegate = JivoDelegate;
 }
Esempio n. 3
0
 public MyWebViewClient(IJivoDelegate JivoDelegate, ProgressDialog progr)
 {
     this.JivoDelegate = JivoDelegate;
     this.progr        = progr;
 }