检测浏览器控制台是否能够呈现颜色的任何方法?

时间:2013-05-10 14:53:14

标签: javascript console

有没有办法检查浏览器是否能够使用控制台颜色而不需要嗅探?

console.log('%c Oh my heavens! ', 'background: #222; color: #bada55');

例如,在chrome 26+和firebug中将打印彩色输出。

2 个答案:

答案 0 :(得分:10)

这是浏览器版本检测似乎是有效方法的少数情况之一。为了最大限度地减少这种方法的危险,请确保使用黑名单而不是白名单,无论现在感觉多么不直观(确保您不会遗漏新的未来浏览器,就像许多旧的netscape焦点代码一样) )。我知道这不是你想听到的答案,但由于console.log是一个原生函数,它的效果无法被观察到,所以据我所知,唯一的选择是做浏览器版本检测。

答案 1 :(得分:4)

我写了Console.js https://github.com/icodeforlove/Console.js以便我们更轻松地完成这项工作

Console.styles.register({
  red: 'color: red',
  underline: 'text-decoration: underline',
  bold: 'font-weight: bold'
});

然后你可以这样做

console.log('red text '.red + 'red underlined text'.red.underline + 'red bold text'.red.bold);

它会像这样优雅地降级

console.js example