@SuppressLint("SetJavaScriptEnabled") fun setWebSettings(context: Context?, mWebView: WebView) { val webSettings = mWebView.settings // webSettings.setTextSize(WebSettings.TextSize.NORMAL); // 設置支持JavaScript webSettings.javaScriptEnabled = true webSettings.loadWithOverviewMode = true webSettings.defaultTextEncodingName = "utf-8" webSettings.layoutAlgorithm = WebSettings.LayoutAlgorithm.SINGLE_COLUMN webSettings.useWideViewPort = true // webSettings.setSupportZoom(true); webSettings.domStorageEnabled = true //打開DOM存儲 webSettings.javaScriptCanOpenWindowsAutomatically = true webSettings.pluginState = WebSettings.PluginState.ON webSettings.allowFileAccess = true webSettings.builtInZoomControls = true webSettings.setSupportZoom(false) // 設置不能支持縮放 webSettings.setAppCacheEnabled(true) // 開啓H5(APPCache)緩存功能 // webSettings.setBlockNetworkImage(true); //不加載圖片 webSettings.databaseEnabled = true // 應用可以有數據庫 val ua = webSettings.userAgentString // webSettings.userAgentString = "$ua JINRAN/Android" if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) { webSettings.safeBrowsingEnabled = false } // 使用了https頭,而h5頁面中使用了http頭,解決的問題 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { webSettings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW } webSettings.cacheMode = WebSettings.LOAD_NO_CACHE // 根據cache-control決定是否從網絡上取數據 //提高渲染優先級 webSettings.setRenderPriority(WebSettings.RenderPriority.HIGH) val myWebViewClient = MyWebViewClient() mWebView.webViewClient = myWebViewClient mWebView.webChromeClient = WebChromeClient() } } // 過濾ssl錯誤 private class MyWebViewClient : WebViewClient() { override fun onReceivedSslError(view: WebView?, handler: SslErrorHandler?, error: SslError?) { handler!!.proceed() }
Android. webview基本配置以及SSLerror錯誤過濾
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.