1

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

请问如何阻止这种情况?

4

1 回答 1

2

你可能在某个地方错过了一个console.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); } }

并继续使用_log("foo")整个代码。现在,您可以使用简单的方式切换日志记录,logging = 0并且可以安全地防止丢失的控制台对象。

于 2012-10-10T15:39:15.437 回答