IE8 中的主机.log发生了什么变化?

根据这篇文章,它处于测试阶段,但它不在发布中?


答案 1

控制台.log仅在打开开发人员工具(通过 F12 将其打开和关闭)后可用。有趣的是,打开它后,您可以关闭它,然后仍然通过控制台.log呼叫发布到它,当您重新打开它时,这些都会被看到。我认为这是一个错误,可能会修复,但我们会看到。

我可能会使用这样的东西:

function trace(s) {
  if ('console' in self && 'log' in console) console.log(s)
  // the line below you might want to comment out, so it dies silent
  // but nice for seeing when the console is available or not.
  else alert(s)
}

甚至更简单:

function trace(s) {
  try { console.log(s) } catch (e) { alert(s) }
}

答案 2

对于回退来说更好的是:


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