根据这篇文章,它在测试版中,但它不在发行版中?


当前回答

这是我的“IE,请不要崩溃”

typeof console=="undefined"&&(console={});typeof console.log=="undefined"&&(console.log=function(){});

其他回答

假设你不关心提醒的备用方法,这里有一个更简洁的方法来解决ie的缺点:

var console=console||{"log":function(){}};

它适用于IE8。点击F12打开IE8的开发者工具。

>>console.log('test')
LOG: test

如果你所有的console.log调用都是“undefined”,这可能意味着你仍然加载了一个旧的firebuglite (firebug.js)。它将覆盖IE8的console.log的所有有效函数,即使它们确实存在。这就是发生在我身上的事。

检查重写控制台对象的其他代码。

if (window.console && 'function' === typeof window.console.log) {
    window.console.log(o);
}

更好的退路是:


   var alertFallback = true;
   if (typeof console === "undefined" || typeof console.log === "undefined") {
     console = {};
     if (alertFallback) {
         console.log = function(msg) {
              alert(msg);
         };
     } else {
         console.log = function() {};
     }
   }