无简介
遇到这样一个问题:
在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