Android 错误/Web控制台:未捕获类型错误:无法调用方法';getItem';空值在http://m.youtube.com/:844

Android 错误/Web控制台:未捕获类型错误:无法调用方法';getItem';空值在http://m.youtube.com/:844,android,webview,android-webview,Android,Webview,Android Webview,以下错误来自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中,我真的没有做任何特别的事情。大多数情况下,我没有得到这个错误,所以我假设这可能是指一些不可靠的网络状况?也许youtu

以下错误来自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)
的文档。到目前为止,我能找到的唯一提示是:正如我前面提到的,这个问题很少发生,而且自从我发布我的问题以来就没有发生过。因此,在我能够设计出一种方法来测试/验证这是否解决了问题之前,我必须进一步了解它与“DOM存储”之间的联系

此外,我还遇到了另一条错误消息(看起来结果不错):


我现在可以看到一些与DOM的连接,所以看起来@Brian O'Dell的方向是正确的。我只需要了解
WebSettings.setDomStorageEnabled(true)
的功能。

也许您需要类似以下内容:

WebSettings=webView.getSettings()

settings.setDomStorageEnabled(true)


我试图将
localStorage
Chrome自定义选项卡一起使用,但遇到了相同的错误。我使用了
window.localstorage
而不是
localstorage
,问题得到了解决。

我在控制台中也出现了相同的错误:

未捕获的TypeError:无法调用null的“getItem”方法


我使用
localStorage.getItem
检索该值,因此我将其更改为
window.localStorage.getItem
,并修复了提供此线索的问题

@Brian O'Dell+1。我将不得不对此进行测试,并得到明确的答复。正如我在问题中提到的,这种错误很少发生,因此我需要在一段时间内验证您提出的修复方案,以确保它确实存在。@uTubeFan如果这有帮助,有什么想法吗?@Brian O'Dell请查看我的编辑。你知道在哪里可以找到更多关于
setDomStorageEnabled(true)
功能的信息吗?谢谢。@uTubeFan可能是指:@Brian O'Dell感谢&+1的Wikipedia链接(我错误地搜索了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