1

index.phpを確認し、すべてのconsole.log()を削除しましたが、IE7にアクセスしてもコンソールエラーが発生します。面白いことに、IE9でチェックインしてから、ブラウザーモードをIE7に変更すると正常に機能しますが、サイトをIE7ブラウザーで直接テストすると、コンソールエラーメッセージが表示されます。

これを止める方法について何かアイデアはありますか?

4

1 に答える 1

2

console.logどこかで電話に出られなかった可能性があります。IE9 から IE7 への切り替えで動作する理由は、コンソールを開いてバージョンを切り替えるとすぐにコンソール オブジェクトが作成されるためです。したがって、IE9 の IE7 エミュレーション モードではエラーは発生しません。

より良い解決策は、事前に js コードに以下を含めることです。

if (!window.console){console = {log:function(){}};}

これで、すべてのconsole.log呼び出しでエラーがスローされることはなくなりますが、黙って無視されます。

私は開発時に次のことを行います。

var logging = 1;
if (!window.console){console = {log:function(){}};}
function _log(a) { if(logging) { console.log(a); } }

_log("foo")コード全体で使い続けます。これで、単純なロギングを切り替えることができlogging = 0、欠落しているコンソール オブジェクトに対して安全になります。

于 2012-10-10T15:39:15.437 に答える