Webview显示一个白色的空白页

时间:2018-05-28 09:37:53

标签: android webview

我正在使用webview在我的应用程序中显示Flipkart网站。

除了一件事之外,一切都正常工作:

当我点击BuyNow按钮时,选择变体视图变为可见。

此视图持续1秒,然后显示白色空白页。

我是否需要在webview中启用任何设置来显示此类视图?

我已经在Stackoverflow上经历了很多问题,但没有任何帮助。

我尝试在webview上设置webchromeclient及以下方法但没有成功。

shopping_webview.getSettings().setAllowFileAccess(true);
                    shopping_webview.getSettings().setAllowContentAccess(true);
                    shopping_webview.getSettings().setAllowFileAccessFromFileURLs(true);
                    shopping_webview.getSettings().setAllowUniversalAccessFromFileURLs(true);
                    shopping_webview.getSettings().setDomStorageEnabled(true);
                    shopping_webview.getSettings().setUseWideViewPort(true);
                    shopping_webview.getSettings().setLoadWithOverviewMode(true);
                    shopping_webview.getSettings().setLoadsImagesAutomatically(true);
                    shopping_webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

                shopping_webview.getSettings().setSupportMultipleWindows(true);
                shopping_webview.getSettings().setBuiltInZoomControls(true);
                shopping_webview.getSettings().setDisplayZoomControls(false);
                shopping_webview.getSettings().setJavaScriptEnabled(true);

2 个答案:

答案 0 :(得分:1)

 webviewLink.getSettings().setLoadsImagesAutomatically(true);
            webviewLink.getSettings().setJavaScriptEnabled(true);
            webviewLink.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
            webviewLink.loadUrl(postlink);

            webviewLink.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageStarted(WebView view, String url, Bitmap favicon) {
                    // TODO show you progress image
                    progressBar.setVisibility(View.VISIBLE);
                    super.onPageStarted(view, url, favicon);
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    // TODO hide your progress image
                    progressBar.setVisibility(View.GONE);
                    super.onPageFinished(view, url);
                }
            });

以这种方式加载网址,它可以在同一个应用中为我工作..

答案 1 :(得分:1)

WebView webView =(WebView)findViewById(R.id.webView);         WebSettings webSettings = webView.getSettings();

    webSettings.setJavaScriptEnabled(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setLoadWithOverviewMode(true);

    webView.setWebViewClient(new MyWebViewClient());
    webView.loadUrl(_URL);
}

private class MyWebViewClient extends WebViewClient{
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        view.loadUrl(url);

        return true;
    }

    @Override
    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
        Toast.makeText(getApplicationContext(), "Oh no! " + description, Toast.LENGTH_SHORT).show();
    }
}