Android WebView设置支持LocalStorage

无简介

遇到这样一个问题:

在webview中加载一个网页,这个网页要从网络上获取数据的。然后它需要调用localStorage将文件存储。在电脑浏览器端,微信端,各种浏览器测试都可以,但是,放到我的webview中的时候就不行了!

网页大概就是这么一个网页,注意看第18和31行,第18行是预留的位置(前端不是很懂,大概就是这个意思吧),然后第31行的代码将东西放置到手机上面,就是这个操作,如果你没有对webview进行设置的时候,webview在加载这个localStorage的时候就会报错,类似这样的错误:Uncaught TypeError: Cannot call method ‘setItem’ of null。(这个东西你必须得通过log才能看到,webview还是会给你默默的加载,即使错了也是默默的。。)

<!doctype html>

首页 ............. ...............
**

** 首页
...............

解决方法

对你的webview设置如下代码:

mWebView.getSettings().setDomStorageEnabled(true);
mWebView.getSettings().setAppCacheMaxSize(1024*1024*8);
String appCachePath = getApplicationContext().getCacheDir().getAbsolutePath();
mWebView.getSettings().setAppCachePath(appCachePath);
mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setAppCacheEnabled(true);

标签

因为这个错误比较难找,我从中午遇到这个问题,然后就开始找解决的办法,我搜了不少关键字,最后才找到了这个解决的方法。所以把我查找用的关键字也都列出来,默默的放到最后,如果有别的同学也遇到这样的问题,可以尽快的找到答案。

android webview script 结尾

android webview body中的script无法解析

Uncaught TypeError: Cannot call method ‘get’ of null

-------------本文结束  感谢您的阅读-------------
下次一定
  • 本文作者: sumile
  • 本文链接: https://sumile.cn/2015/09/07/859.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!