web-dev-qa-db-ja.com

エラー:クリアされたスコープでcompile-and-goスクリプトを実行しようとしました

Firefox 4.0にアップグレードして以来、コンソールに次のようなエラーが時々表示されることに気付きました。

クリアされたスコープでcompile-and-goスクリプトを実行しようとします

ネット上でこれについて見つけることができる唯一の情報は mozilla groups forum にあり、セッションの復元と関係があることが示唆されています。私の場合、エラーを確実に再現することはできませんでしたが、復元後だけでなく、いつでも発生します。

どうしたんだ?エラーを停止するにはどうすればよいですか?

67
nickf

私(Firefox 11、Firebug 1.9.1)の場合、デバッガーがブレークポイントで一時停止している間にページ(F5またはCTRL + F5)を更新すると、時々発生します。

解決策は、スクリプトの実行を継続し、Firebugがnotpausedの場合にのみページを更新することです。

9
jakub.g

私の場合、document.write Windows上のFirefox 4、5、6で問題を引き起こすメソッド。 Linuxバージョンは影響を受けません。私がしなければならなかったのは、document.write 方法。

document.writeは最近使用されるべきではありませんが、deployJava.js、標準Java Sun/Oracleによって記述されたアプレット展開スクリプトが使用しています。GoogleはGoogle AdSense広告で使用しています。document.writeはどこにでもあります。

<script>
    var documentWriteOutput = '';
    var got = document.write;
    document.write = function(arg) { documentWriteOutput += arg; }
</script>
<script src="badScriptThatIsUsingDocumentWrite.js"></script>
<script>
    runBadScriptThatIsUsingDocumentWrite();
    document.write = got;
    // Do whatever you want with the documentWriteOutput
    // e.g. $('#somewhere').html(documentWriteOutput);
</script>

これがお役に立てば幸いです。しかし、私にはうまくいかなかったインターネット上の多くの「解決策」を見ました。 「クリアされたスコープでcompile-and-goスクリプトを実行しようとした」は、Firefox JavaScriptエンジンの問題/バグであることを意味する場合があります。

7
Nowaker

ドキュメントの読み込みが完了した後にdocument.writeを使用してドキュメントに書き込むと、このエラーが発生することがあります(たとえば、JQueryの$(document).ready()メソッドから呼び出される関数)。これが発生すると、Firefoxは古いドキュメントを破棄し、新しいドキュメントを作成するようです。これが新しい動作なのかどうかはわかりません。古いドキュメントを操作しようとすると、たとえばJQueryセレクタを使用すると、このエラーが発生します。私にとっては、ドキュメントの読み込み後にdocument.writeを呼び出さないように問題のスクリプトを修正すると、エラーが修正されました。

6
Nate C-K

キャッシュを無効にすると、コンソールにこのエラーが表示されなくなります。

5
Liam

Firebug(私の場合は1.8)が無効になっている場合、エラーは発生しません。

2
Wolfgang

私もこの問題を抱えていましたが、FireFoxをきれいに再インストールしました。

その後、エラーはなくなりました。

1
user1046787

同じドメインiframeから追加された要素にイベントを追加しようとすると、このエラーが発生しました。 clone()が追加され、エラーが停止しました。

1
kuldar

重複したメタキャッシュコントロールのコードを確認し、そのうちの1つを削除します。

<meta http-equiv="cache-control" content="no-cache" />
1
Eneas Gesing

Firebugとは関係ありません。 firebugが無効になっているときに「消える」のは、例外が表示されなくなったためです。この原因は、現在ヌルであるが適切にクリーンアップされていないイベントにハンドラーが接続されていることです。ハンドラーが適切に破棄されていることを確認する必要があります。そうでない場合、イベントはハンドラーへの参照を起動します。

1
Terry Boswell

メニュー:Firebug-> Console-> Show Chrome Errors

スイッチオフ、ストーリーの終わり;)

0
daniel barucha