使用JavaScript检测Firefox浏览器是否启用了Firebug

在启用Firebug的情况下访问GMail会收到一个“Firebug会让Gmail变慢”的警告,这是如何检测的呢?这里就说说。在启用了firebug面板后,会增加一个window.console对象及window.console.firebug变量用于保存当前firebug的当前版本,当关闭firebug面板后则变回正常,于是我们可以通过判断其是否存在来检测是否开启了firebug。

Boolean(window.console && window.console.firebug)

于是,为了方便在没有启用firebug的情况下避免脚本错误,可以在脚本最前面加入以下语句手工创建空的console对象以作兼容。

if (!window.console) {
  // ignore firebug console call if  it's not installed
  // for firebug 1.6.0
  (function(m, i) {
  window.console = {};
  while (i--) {
    window.console[m[i]] = function() {};
  }
  })('log debug info warn exception assert dir dirxml trace group groupEnd groupCollapsed time timeEnd profile profileEnd count clear table error notifyFirebug'.split(' '), 22);
}

这样,在IE下能正常预览页面,在Firefox、Chrome、Safari中也能正常输出调试信息。
-EOF-