【问题标题】:Android webview load webPage error messaging/unsupported-browserAndroid webview 加载 webPage 错误消息/不支持的浏览器
【发布时间】:2020-04-17 20:39:24
【问题描述】:

我开发了一个必须在 webView 中打开 url 的 android 应用程序。 该页面在浏览器上打开时没有任何问题,但在我的 webView 中它会打开一个空白页面并在 logcat 中记录以下错误。

I/chromium: [INFO:CONSOLE(2)] "FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser).", source: https://myWebsite/static/js/2.4d0092a9.chunk.js (2)

这是我的代码

    @SuppressLint("SetJavaScriptEnabled")
    private void setUpWebViewSettings() {
        WebSettings websettings = regularWebView.getSettings();

        websettings.setJavaScriptEnabled(true);
        websettings.setDomStorageEnabled(true);  

        websettings.setAllowFileAccess(true);    
        websettings.setAppCacheEnabled(true);    
        websettings.setUseWideViewPort(true);
        websettings.setLoadWithOverviewMode(true);

        websettings.setSaveFormData(true);
    }

private void setUpMuWebView() {
    regularWebView.clearCache(true);
    regularWebView.clearHistory();

    setUpWebViewSettings();

    regularWebView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {

        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }

        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
            super.onReceivedError(view, request, error);
            Log.d(TAG, error.toString());
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }
    });

    regularWebView.loadUrl(<UrlToLoad>);
}

我应该怎么做才能加载页面?是否有任何建议的 webView 库可以帮助我在应用程序中打开页面?

【问题讨论】:

  • 很遗憾不能在webView中打开,但是CustomTabsIntent可以打开。

标签: android webview


【解决方案1】:

该错误信息与空白页问题无关,您的webView由于兑现问题无法呈现页面。

当我与 react.js 团队合作时,我遇到了同样的问题,我清理了现金并在我的 PC 浏览器上进行了硬重新加载,以便能够在我的应用程序 webView 上打开网页。 这是执行此操作的步骤:

  1. 在 PC 的浏览器上打开 URL。
  2. 按 F12 打开 Firebug。
  3. 长按刷新页面。
  4. 选择空现金和硬充值

之后尝试从您的 App WebView 打开 URL。 这些步骤为我解决了问题,如果是兑现问题,它应该为您解决问题,否则,您必须 customtabsintent 或联系页面管理员调查并解决问题(如果可以)联系他。

并且由于使用 Firebase 云消息传递功能,不支持的浏览器错误消息得到缓解。 JavaScript SDK 中的 Firebase Cloud Messages API 使用仅受现代浏览器子集支持的 API,而 webView 组件使用不支持 Firebase 云消息传递的 chromium。查看此related thread 了解更多详情。

【讨论】:

  • 谢谢,它对我有用,正如你所说,这是兑现问题。
猜你喜欢
  • 2020-07-11
  • 1970-01-01
  • 2010-09-25
  • 1970-01-01
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 2021-04-10
  • 1970-01-01
相关资源
最近更新 更多