javascript - 网站无法在 webview 上正确加载

标签 javascript android webview

我有一个 fragment ,其中包括一个简单的 webview 和 textview。 我正在尝试加载网站,但加载效果不佳。

ChromeBrowser working properly

webView in fragment don't work well

我用谷歌搜索并没有找到解决方案。我认为问题的根源是 网站本身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" />

最佳答案

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

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

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

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

关于javascript - 网站无法在 webview 上正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35040741/

相关文章:

java - Android ListView 水平

android - 如何在同一个 webview Android 中加载 webview 链接

javascript - 如何在饼图标题中应用背景颜色

javascript - Ajax数组只返回1个值?

javascript - JSON 响应节点的 JS 错误

android - 在没有按钮的android中使用viewflipper翻转图像

javascript - AngularJs 和 Laravel 中的漂亮 URL 不起作用

android - 如何查看android中的电池使用设置?

android - Android中如何实现webview的多登录?

java - android 互联网连接可用性