Example #1
0
 private void FormsWebViewRenderer_OnControlChanged(object sender, Android.Webkit.WebView e)
 {
     // 在pc上调试webview
     // chrome://inspect/#devices
     Android.Webkit.WebView.SetWebContentsDebuggingEnabled(true);
     WebSpeakerJs.Context = this;
     e.AddJavascriptInterface(WebSpeakerJs.Instance, WebSpeakerJs.INTERFACE);
 }
        public override void OnPageFinished(Android.Webkit.WebView view, string url)
        {
            // 为防止跳转后jsBridge失效,每次跳转后都添加一次
            view.AddJavascriptInterface(new JSBridge(webViewerRenderer), "jsBridge");
            webViewerRenderer.InjectJS(JSDefines.JavaScriptFunction_Droid);

            webViewerRenderer.JSCallBack(JSDefines.JSCallbackInitialized());

            base.OnPageFinished(view, url);
        }
        public CustomWebView(Android.Webkit.WebView webView)
        {
            this.webView  = webView;
            valueCallback = new JavascriptValueCallback(this);

            var customWebViewClient = new CustomWebViewClient(GetType().Assembly);

            customWebViewClient.onPageFinishedCustom += CustomWebViewClient_onPageFinishedCustom;
            webView.SetWebViewClient(customWebViewClient);

            webView.AddJavascriptInterface(new CustomWebViewJSBridge(this), "jsBridge");
            webView.ClearCache(true);
            webView.ClearHistory();
            webView.Settings.JavaScriptEnabled = true;
            webView.Settings.JavaScriptCanOpenWindowsAutomatically = true;
            webView.Settings.DomStorageEnabled = true;

            global::Android.Webkit.WebView.SetWebContentsDebuggingEnabled(true);
        }