我有一个 fragment ,其中包括一个简单的 webview 和 textview。 我正在尝试加载网站,但加载效果不佳。
我用谷歌搜索并没有找到解决方案。我认为问题的根源是 网站本身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/