网站无法在webview上正确加载

时间:2016-01-27 14:59:33

标签: javascript android webview

我有一个片段,其中包含一个简单的webview和textview。 我正在尝试加载一个网站,但它加载不好。

ChromeBrowser working properly

webView in fragment don't work well

我用Google搜索并没有找到解决方案。我认为问题的根源是 网站本身https://m.headstart.co.il/#/main?id=17863,但我不太了解网络语言,以了解问题是否真的存在。 问题是什么?以及如何在Webview上正确加载网站? 提前谢谢。

代码块:

        View v = inflater.inflate(R.layout.fragment_campaign, container, false);

        String address_campaign = "http://www.headstart.co.il/project.aspx?id=17863";

        WebView wv = (WebView) v.findViewById(R.id.webView);
//        UI setting
//        wv.setInitialScale(1);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.getSettings().setLoadWithOverviewMode(true);
        wv.getSettings().setUseWideViewPort(false);
        wv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        wv.setScrollbarFadingEnabled(false);
//        wv.setWebViewClient(new WebViewClient());

        wv.loadUrl(address_campaign);
        wv.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        return v;

xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ContackRWBForDonate">


<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Help us build a better community"
    android:id="@+id/textView4"
    android:foregroundGravity="top|center_vertical"
    android:gravity="center"
    android:textColor="@color/colorPrimary"
    android:background="@color/BackGroundMainActivity"
    android:layout_gravity="center_horizontal"
    android:textStyle="bold" />

<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/webView"
    android:layout_gravity="bottom" />

1 个答案:

答案 0 :(得分:8)

您缺少的是 WebViews设置的更多配置。 我的猜测是你需要允许Dom,本地数据存储等等。

添加这些权限,如果他们解决了,请尝试找到不必要的权限。

wv.getSettings().setAllowContentAccess();
wv.getSettings().setAllowFileAccess();
wv.getSettings().setDatabaseEnabled();
wv.getSettings().setDomStorageEnabled();

建议您试用为 Chrome自定义标签创建的新API - 在您的应用中创建自己的Chrome标签。 https://developer.chrome.com/multidevice/android/customtabs