• Android WebView 支持H5 DOM Storage


    https://www.cnblogs.com/ourLifes/p/7992648.html

    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都要配置这个

  • 相关阅读:
    elk 介绍与logstash插件
    es 中文分词器IK
    Swift编译慢?请看这里,全套开源
    你与 “顶级iOS工程师” 距离有多远?
    iOS工程师如何在工作中提升自己?
    iOS技术人的出路在哪里,35岁被优化吗?
    菜鸟摇身变大牛
    iOS-MobLink集成流程
    iOS进阶之页面性能优化
    从零讲解 iOS OpenGL ES 的纹理渲染 原来是泽镜啊
  • 原文地址:https://www.cnblogs.com/niit-soft-518/p/12361759.html
Copyright © 2020-2023  润新知