我检查了我的 index.php 并删除了所有 console.log() 但是当我转到 IE7 时,我仍然遇到控制台错误。有趣的是,如果我在 IE9 中检查,然后将浏览器模式更改为 IE7,它可以正常工作,但是如果直接在 IE7 浏览器中测试站点,它会给出控制台错误消息。
请问如何阻止这种情况?
我检查了我的 index.php 并删除了所有 console.log() 但是当我转到 IE7 时,我仍然遇到控制台错误。有趣的是,如果我在 IE9 中检查,然后将浏览器模式更改为 IE7,它可以正常工作,但是如果直接在 IE7 浏览器中测试站点,它会给出控制台错误消息。
请问如何阻止这种情况?
你可能在某个地方错过了一个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
并且可以安全地防止丢失的控制台对象。