ブラウザーがスニッフィングせずにコンソールの色を使用できるかどうかを確認する方法はありますか?
console.log('%c Oh my heavens! ', 'background: #222; color: #bada55');
たとえば、chrome 26+ と firebug では、カラー出力が印刷されます。
ブラウザーがスニッフィングせずにコンソールの色を使用できるかどうかを確認する方法はありますか?
console.log('%c Oh my heavens! ', 'background: #222; color: #bada55');
たとえば、chrome 26+ と firebug では、カラー出力が印刷されます。
これは、ブラウザーのバージョン検出が有効な方法と思われる数少ないケースの 1 つです。このアプローチの危険性を最小限に抑えるには、ホワイトリストではなくブラックリストを使用するようにしてください。これが今はどれほど直感的でなくても構いません (多くの古い 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);
このように優雅に劣化します