以下错误来自Android(WebView),而不是直接来自我自己的代码:
04-28 12:36:15.174: ERROR/Web Console(7604):
Uncaught TypeError: Cannot call method 'getItem' of null at http://m.youtube.com/:844
除了将该URL加载到WebView之外,我真的没有做任何特别的事情。大多数时候我没有得到这个错误,所以我假设这可能指向一些不可靠的网络条件?也许youtube.com太忙了?
很难说。无论如何,我想至少知道可能导致这种情况的原因以及是否可以捕获该错误以便我能够更好地处理它。
同样,我自己的代码不知道getItem
是什么。另一方面,出现此问题时,我的WebView上的YouTube页面只是为空。
数据分析
编辑:我一直在寻找有关拟议WebSettings.setDomStorageEnabled(true)
的文档。到目前为止我能找到的唯一提示是in this SO thread:正如我之前提到的,这个问题很少发生,自从我发布问题以来就没有发生过。所以我必须先了解一下这个与“DOM存储”之间的联系,然后再设法测试/验证这是否能解决问题。
另外,我刚刚遇到另一条错误消息(结果是良性的,所以看起来似乎):
05-02 00:44:45.823: ERROR/Web Console(1595):
dojo.back.init() must be called before the DOM has loaded.
If using xdomain loading or djConfig.debugAtAllCosts,
include dojo.back in a build layer.
at http://sj.example.com/ncscript/subsect/j_gs/version/20110428191502.js:164
我现在可以看到与DOM的某些连接,所以看起来@Brian O'Dell的方向正确。我只需要了解WebSettings.setDomStorageEnabled(true)
的作用。
答案 0 :(得分:60)
答案 1 :(得分:1)
我尝试将localstorage
与Chrome Custom Tabs
一起使用并获得相同的错误。我使用了windows.localstorage
代替localstorage
而问题解决了。
答案 2 :(得分:0)
我在控制台中也遇到了相同的错误:
未捕获的TypeError:无法调用null的'getItem'方法
我使用localStorage.getItem
来检索值,所以我将其更改为window.localStorage.getItem
并解决了问题