WebView中Settings积累

告诉你怎么发现的

现在webApp越来越多,很多为了更新方便都用了H5来制作,安卓客户端变轻了,webView中的很多设置也使用频繁了。最近公司一个项目加载一个https的页面,我同事说怎么也加载不出来,但是在浏览器上确没有问题。找了很久的资料,很多人说是SSL证书的关系,后来问了服务器,并没有用证书。最后我抱着试一试的心理加上了很多Settings设置,没想到页面显示出来了,一个一个排查,最后发现是它起了作用。

https页面加载不出来就用它:

setting.setDomStorageEnabled(true);//设置DOM Storage缓存

而DomStorage包括Session Storage和Local Storage两种,你还可以这样设置。

webview.getSettings().setDatabaseEnabled(true);
webview.getSettings().setDatabasePath("/data/data");
webSettings.setDomStorageEnabled(true);

接下来是webView中一下常用的Setting介绍:

setJavaScriptEnabled(true) ;//支持js脚本
setPluginsEnabled(true) ;//支持插件
setUserWideViewPort(false) ;//将图片调整到适合webview的大小
setSupportZoom(true) ;//支持缩放
setLayoutAlgorithm(LayoutAlgrithm.SINGLE_COLUMN) ;//支持内容从新布局
supportMultipleWindows() ;//多窗口
setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK) ;//关闭webview中缓存
setAllowFileAccess(true) ;//设置可以访问文件
setNeedInitialFocus(true) ;//当webview调用requestFocus时为webview设置节点
setjavaScriptCanOpenWindowsAutomatically(true) ;//支持通过JS打开新窗口
setLoadsImagesAutomatically(true) ;//支持自动加载图片
setBuiltInZoomControls(true);//支持缩放
webView.setInitialScale(35);//设置缩放比例
webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);//设置滚动条隐藏
webView.getSettings().setGeolocationEnabled(true);//启用地理定位
webView.getSettings().setRenderPriority(RenderPriority.HIGH);//设置渲染优先级

webView大部分的settings都在这里了,希望对大家有帮助。
接下来我还会出几篇有关WebViewClient和WebChromeClient的文章,一起学习WebView。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 4,280评论 0 1
  • WebView·开车指南 目录 WebView简介 WebView基本使用 WebView常用方法 WebSett...
    小庄bb阅读 8,873评论 3 25
  • WebView·开车指南 目录 WebView简介 WebView基本使用 WebView常用方法 WebSett...
    南城的人阅读 10,184评论 0 19
  • Tips 由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)...
    BugDev阅读 12,304评论 11 109
  • 0. 前言 前面有被用户投诉 APP 流量消耗厉害: 于是乎考虑了流量方面的问题。暂时 APP 中涉及流量的几个方...
    zyl06阅读 24,365评论 5 63