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

有没有一种方法可以检查浏览器是否能够使用控制台颜色而不用嗅探?

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

例如,在铬26+和萤火虫将打印彩色输出。


这是少数几个浏览器版本检测似乎是有效途径的案例之一。 为了最大限度地减少这种方法的危险性,请确保使用黑名单而不是白名单,不管现在这可能会有多么不直观(为了确保您不会遗漏新的未来浏览器,就像大量旧的以netscape为中心的代码一样)。 我知道这不是你想听到的答案,但是由于console.log是一个本地函数,它的效果决不会被观察到,所以就我所见,唯一的选择是进行浏览器版本检测。


我写了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示例

链接地址: http://www.djcxy.com/p/87415.html

上一篇: Any way of detecting whether a browsers console is able to render colors?

下一篇: Lighten or darken a hex color