在启用Firebug的情况下访问GMail会收到一个“Firebug会让Gmail变慢”的警告,这是如何检测的呢?这里就说说。在启用了firebug面板后,会增加一个window.console对象及window.console.firebug变量用于保存当前firebug的当前版本,当关闭firebug面板后则变回正常,于是我们可以通过判断其是否存在来检测是否开启了firebug。
1 |
Boolean(window.console && window.console.firebug) |
于是,为了方便在没有启用firebug的情况下避免脚本错误,可以在脚本最前面加入以下语句手工创建空的console对象以作兼容。
1 2 3 4 5 6 7 8 9 10 |
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-