• 赚钱入口【需求资源】限时招募流量主、渠道主,站长合作;【合作模式】CPS长期分成,一次推广永久有收益。主动打款,不扣量;

Uncaught (in promise) TypeError: Failed to fetch

Android cps12345 4周前 (09-30) 32次浏览 0个评论

这是一个WebView,它加载页面并在单击按钮时触发fetch()。该页面正在浏览器中工作正常,但是,在WebView中单击时不执行任何操作。

override fun onCreate(savedInstanceState: Bundle?) {
  var mWebView = findViewById(R.id.activity_main_webview) as WebView
  var webSettings = mWebView.getSettings()
  webSettings.setDomStorageEnabled(true)
  webSettings.setJavaScriptEnabled(true)
  webSettings.setLoadWithOverviewMode(true)
  mWebView.webViewClient = WebViewClient()
  mWebView.loadUrl("https://example.com")
}

Android Studio中的调试控制台中的错误是:

E/chromium: [ERROR:ssl_client_socket_impl.cc(959)] handshake failed; returned -1, SSL error code 1, net_error -200 I/chromium: [INFO:CONSOLE(0)] “Uncaught (in promise) TypeError: Failed to fetch”, source: https://example.com/ (0)

解决

原因:https://issuetracker.google.com/issues/36907478#c15

将此替代方法添加到您的WebViewClient实现中。您需要使用Android SDK 2.2(API级别8)或更高版本进行编译。该方法从2.2(API级别8)开始出现在公共SDK中,但是我们已经在运行2.1、1.6和1.5的设备上对其进行了测试,并且也可以在这些设备上运行(因此,这种行为一直存在)。

 @Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
    handler.proceed(); // Ignore SSL certificate errors
}
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址