【问题标题】:Google Chrome uncaught javascript exception谷歌浏览器未捕获的 javascript 异常
【发布时间】:2011-08-25 20:38:13
【问题描述】:

在 Firefox 4.0 或 Internet Explorer 8+ 中不会发生此错误。

我创建一个新的空选项卡,然后打开控制台(Ctrl+Shift+I 然后 Esc)并粘贴以下代码:

var cnt = 0;
(function() {document.body.innerHTML = cnt;window.setTimeout(arguments.callee,100);})();

(function(){cnt++;window.setTimeout(arguments.callee,0);})();

此时有时会出现错误,但并非总是如此。

在此之后我粘贴更多:

(function(){cnt++;window.setTimeout(arguments.callee,0);})();

大约 30 秒后,我收到以下任何错误:

未捕获的类型错误:无法读取 null 的属性“offsetHeight”
未捕获的类型错误:无法读取 null 的属性“classList”

问题:问题是什么?我该如何解决这个问题?

更新:

当我在打开的标签之间切换时会发生此错误,但也是随机发生的。

【问题讨论】:

    标签: javascript exception google-chrome


    【解决方案1】:

    这是因为 chrome://newtab 期望某些元素存在(用于 JavaScript 目的),但您正在使用 document.body.innerHTML 清除它们。您可以注入一个用于输出的元素,这样应该可以:

    var cnt = 0;
    document.body.innerHTML = '<div id="abcd">...</div>' + document.body.innerHTML;
    
    (function(){
        document.getElementById('abcd').innerHTML=cnt;
        window.setTimeout(arguments.callee,100);
    })();
    
    (function(){ cnt++;window.setTimeout(arguments.callee,0); })();
    

    【讨论】:

      猜你喜欢
      • 2014-10-03
      • 2018-07-15
      • 1970-01-01
      • 2012-04-11
      • 2019-07-10
      • 2017-03-29
      • 2012-08-18
      • 1970-01-01
      • 2013-01-25
      相关资源
      最近更新 更多