我一直在用头撞墙,试图让我的 Android WebView 正常运行,但我陷入了这个奇怪的错误。这是我的 Kotlin 代码片段:
val webView = findViewById<WebView>(R.id.webView)
webView.clearCache(true)
webView.clearHistory()
webView.settings.pluginState = WebSettings.PluginState.ON
webView.settings.domStorageEnabled = true
webView.settings.javaScriptEnabled = true
webView.settings.mixedContentMode = WebSettings.MIXED_CONTENT_ALWAYS_ALLOW
webView.settings.setAllowUniversalAccessFromFileURLs(true)
webView.settings.setAllowFileAccessFromFileURLs(true)
webView.settings.setSupportMultipleWindows(true)
webView.setLayerType(View.LAYER_TYPE_HARDWARE, null)
webView.settings.userAgentString = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
webView.loadUrl("https://example.com")
为了捕获与网站相关的错误,我正在使用此
onConsoleMessage
覆盖:
webView.webChromeClient = object : WebChromeClient() {
override fun onConsoleMessage(consoleMessage: ConsoleMessage): Boolean {
// Logging JavaScript errors here
Log.e("JAVASCRIPT_ERRORS", consoleMessage.message())
return true
}
}
但是你猜怎么着?我不断遇到这个奇怪的错误:
n[(h + P3)] is not a function
奇怪的是,同一个网站在 Chrome 移动/PC 上运行起来就像一个魅力,但我的应用程序上的 WebView 却让我头疼。对可能发生的事情有什么想法吗?我洗耳恭听!
我所要做的就是更新我的Android系统WebView,因为我手机上的旧版本与网站的JavaScript不兼容。