Android WebView 支持H5 DOM Storage

vue项目里,路由不跳转,Storage存储有问题

使用html5的 localStorage 存不进去也读不出来

mWebView.getSettings().setDomStorageEnabled(true);

什么是DOM Storage

HTML5 是下一代 HTML 标准,开始吸引越来越多人的目光。HTML5 的 DOM Storage 机制提供了一种方式让程序员能够把信息存储到本地的计算机上,在需要时获取。这点和 cookie 相似,区别是 DOM Storage 提供了更大容量的存储空间。 
DOM Storage 分为 sessionStorage 和 localStorage。 
localStorage 对象和 sessionStorage 对象使用方法基本相同,它们的区别在于作用的范围不同。sessionStorage 用来存储与页面相关的数据,它在页面关闭后无法使用。而 localStorage 则持久存在,在页面关闭后也可以使用。

Android中如何支持

Android 中WebView是一款很强大的控件。如何支持H5的本地存储呢? 
如下设置即可(本公司App就是这样设置,是可行的)

private WebView mWebView;
...
//初始化操作
private void initmWebView() {
        //设置支持JS
        mWebView.getSettings().setJavaScriptEnabled(true); 
        // 设置支持本地存储
        mWebView.getSettings().setDatabaseEnabled(true);
        //取得缓存路径
        String path = getActivity().getApplicationContext().getDir("cache", Context.MODE_PRIVATE).getPath();
        //设置路径
        mWebView.getSettings().setDatabasePath(path);
        //设置支持DomStorage
        mWebView.getSettings().setDomStorageEnabled(true);
        //设置存储模式
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
        //设置适应屏幕
        mWebView.getSettings().setUseWideViewPort(true);
        mWebView.getSettings().setLoadWithOverviewMode(true);
        mWebView.getSettings().setSupportZoom(true);
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.getSettings().setDisplayZoomControls(false);
        //设置缓存
        mWebView.getSettings().setAppCacheEnabled(true);
        mWebView.requestFocus();
        //下面三个各种监听
        mWebView.setWebChromeClient(wcc);
        mWebView.setDownloadListener(dl);
        mWebView.setWebViewClient(wvc);
        //加载连接
        mWebView.loadUrl(XXXXXXXX);
    }

补充一下:APP内所有的WebView都要配置这个

 

多个参考文档:

http://blog.csdn.net/carson_ho/article/details/52693322

http://www.cnblogs.com/oakpip/archive/2011/04/08/2009800.html

http://blog.csdn.net/hello_12413/article/details/48895913

http://www.cnblogs.com/yuzhongwusan/p/4211681.html

http://www.oschina.net/question/111965_108361?sort=time

posted @ 2017-12-06 14:47  南夏啊南夏  阅读(5881)  评论(1编辑  收藏  举报