代码之家  ›  专栏  ›  技术社区  ›  Glenn

仅将Javascript加载到webview

  •  0
  • Glenn  · 技术社区  · 6 年前

    我正在尝试将javascript代码加载到Android webview中,但webview中没有显示任何内容。

    以下代码是我尝试的代码:

    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
    webView.getSettings().setLoadWithOverviewMode(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setBuiltInZoomControls(false);
    webView.getSettings().setDisplayZoomControls(false);
    webView.getSettings().setLoadsImagesAutomatically(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.getSettings().setSupportZoom(false);
    webView.setWebChromeClient(new WebChromeClient());
    webView.setVerticalScrollBarEnabled(false);
    webView.setHorizontalScrollBarEnabled(false);
    webView.loadDataWithBaseURL(null,"<script type=\"text/javascript\" xml=\"space\"> window.location = \"https://d2cp7zapb031g5.cloudfront.net/app/faq.html\"</script>", "text/html", "utf-8", null);
    

    我搜索了很多,但找不到任何有效的解决方案。有人能想出办法解决这个问题吗?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   Cao Minh Vu    6 年前

    请检查您是否在清单中声明internet权限:

    <uses-permission android:name="android.permission.INTERNET"/>
    

    此外,请在webView之前添加以下代码。loadDataWithBaseURL:

    webView.setWebViewClient(new WebViewClient() {
                @Override
                public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                    return false;
                }
            });
    

    请不要问我为什么