Javascript IE控制台问题

Javascript IE控制台问题,javascript,internet-explorer,Javascript,Internet Explorer,我检查了index.php并删除了所有的console.log(),但当我转到IE7时,仍然会出现控制台错误。有趣的是,如果我在IE9中检查,然后将浏览器模式更改为IE7,它工作正常,但是如果直接将站点测试为IE7浏览器,则会显示控制台错误消息 你知道怎么阻止这一切吗 您可能错过了某个控制台.log呼叫。它在IE9切换到IE7时起作用的原因是,只要打开控制台切换版本,就会创建console对象。因此,在IE9的IE7仿真模式下不会抛出错误 更好的解决方案是在js代码中预先包含以下内容: if (

我检查了index.php并删除了所有的console.log(),但当我转到IE7时,仍然会出现控制台错误。有趣的是,如果我在IE9中检查,然后将浏览器模式更改为IE7,它工作正常,但是如果直接将站点测试为IE7浏览器,则会显示控制台错误消息


你知道怎么阻止这一切吗

您可能错过了某个
控制台.log
呼叫。它在IE9切换到IE7时起作用的原因是,只要打开控制台切换版本,就会创建console对象。因此,在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); } }

并继续对整个代码使用
\u log(“foo”)
。现在,您可以使用一个简单的
logging=0
切换日志记录,并且对丢失的控制台对象是安全的。

很难说如何消除由未指定代码生成的未指定错误。如果您的意思是要获得控制台,那么IE7中没有控制台的未定义错误;您是否包含针对旧浏览器的特定js文件(
等),以及是否尝试清除浏览器缓存?(按Ctrl+F5键几次通常都能成功)+1,是的。我通常使用consolelog()而不是console.log,后者检查是否定义了console和console.log。这样,如果我在通话中弹出控制台,消息会立即记录下来。