有没有办法检查浏览器是否能够使用控制台颜色而不需要嗅探?
console.log('%c Oh my heavens! ', 'background: #222; color: #bada55');
例如,在chrome 26+和firebug中将打印彩色输出。
答案 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);
它会像这样优雅地降级