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); }