错误/ Web控制台:未捕获TypeError:无法在http://m.youtube.com/844上调用null的方法'getItem'

问题描述:

以下错误来自Android(WebView),而不是直接来自我自己的代码:错误/ Web控制台:未捕获TypeError:无法在http://m.youtube.com/844上调用null的方法'getItem'

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连接,所以它看起来像@布赖恩·奥德尔在正确的方向。我只需要了解WebSettings.setDomStorageEnabled(true)做什么。

也许你需要这样的东西:

WebSettings settings = webView.getSettings();

settings.setDomStorageEnabled(true);

source

+0

@Brian O'Dell +1提供此线索。我将不得不对此进行测试,并得到明确的答复。正如我在我的问题中提到的,这个错误很少发生,所以我需要在一段时间内验证您的建议修复,以确保这确实是这样。 – uTubeFan 2011-04-28 19:17:12

+0

@uTubeFan任何想法,如果有帮助? – 2011-04-30 00:15:21

+0

@Brian O'Dell请参阅我的编辑。任何想法,我可以找到更多关于'setDomStorageEnabled(true)'的信息?谢谢。 – uTubeFan 2011-05-02 05:03:05

我试图用localstorageChrome Custom Tabs和得到同样的错误。我已经使用windows.localstorage而不是localstorage,我解决了问题。