2011-05-15 14 views
1

このエラーは、Firefox 4.0またはInternet Explorer 8以降では発生しません。Google Chromeキャッチされていないjavascript例外

私は新しい空のタブを作成し、オープンコンソール(Ctrlキー+は+ 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秒:

Uncaught TypeError: Cannot read property 'offsetHeight' of null
Uncaught TypeError: Cannot read property 'classList' of null

質問:問題は何ですか?これをどうすれば解決できますか?

UPDATE:私は私の開いたタブを切り替えるとき

このエラーが発生するだけでなく、ランダムに。

答えて

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); })(); 
関連する問題