关于Android WebView设置的问题

工作中遇到一个问题,应用加载H5网页后,页面上用于切换网页下方显示内容的类似tab的按钮点击无效,然而该按钮在手机浏览器上可以正常运行。后来发现是自己的websetting设置不对,只需要加入settings.setDomStorageEnabled(true)即可。

原因是由于没有开启DOM Storage,H5的一些数据没能缓存进来导致的。

WebSettings settings = mWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
//启用数据库
//settings.setDatabaseEnabled(true);
//settings.setAllowContentAccess(true);
//settings.setAppCacheEnabled(false);
//settings.setBuiltInZoomControls(false);
//settings.setUseWideViewPort(true);
//settings.setLoadWithOverviewMode(true);
settings.setDomStorageEnabled(true);//就是这个设置没加导致的问题
//https与http混合资源处理,android5.0开始不能同时加载http和https资源
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
//页面加载
mWebView.setWebChromeClient(new WebChromeClient() {});
mWebView.setWebViewClient(new WebViewClient(){

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
    }
});

关于webview的缓存可以看以下链接https://www.jianshu.com/p/5e7075f4875fhttps://blog.csdn.net/b7223058/article/details/77879428

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值