フォーマットされたJavaScriptコンソールログメッセージを作成する方法


91

今日、私はFacebookのChromeのコンソールに「ぶらぶら」しました。
驚いたことに、コンソールにこのメッセージが表示されました。

今私の質問です:
これはどのようにして可能ですか?
コンソールにはいくつかの「エクスプロイト」メソッドがあることは知っていますが、コンソールでそのようなフォントフォーマットを作成するにはどうすればよいですか?(それはconsole.logですか?)

回答:


131

はい、次のconsole.log()ようにフォーマットできます:

console.log("%cExtra Large Yellow Text with Red Background", "background: red; color: yellow; font-size: x-large");

%c最初の引数の前のテキストと2番目の引数のスタイル指定に注意してください。テキストは例のようになります。

詳細については、Googleの「CSSを使用したスタイリングコンソール出力」またはFireBugのコンソールドキュメントを参照してください。

ドキュメントのリンクには、コンソールのログにオブジェクトのリンクを含めるなど、他にもいくつかの巧妙なトリックが含まれています。


console.log古いブラウザは例外でスクリプトを停止する可能性があるため、でフォーマット文字列を使用する前に、互換性のあるブラウザが使用されていることを確認することをお勧めします。 caniuseによると、Firefox 9とEdge 79で導入された。Chromeは明らかにChrome 83より前の時点でサポートを開始しましたが、正確な時期はわかりません。
Silas S. Brown

38

これを試して:

console.log("%cThis will be formatted with blue text", "color: blue");

ドキュメントを引用して、

%c形式指定子を使用して、console.log()または関連メソッドでコンソールに書き込む文字列にカスタムCSSルールを適用します。

ソース:https : //developers.google.com/web/tools/chrome-devtools/console/console-write#styling_console_output_with_css


7
こんにちは、投票者、コメントはありますか?-自分自身を説明するコメントを残さない場合、(あなたが良くないと思う)答えを改善することは困難です。:)
blurfus 2018

30

サブストリングをフォーマットすることもできます。

var red = 'color:red';
var blue = 'color:blue';
console.log('%cHello %cWorld %cfoo %cbar', red, blue, red, blue);

ここに画像の説明を入力してください


4
の最初の引数内でのみスタイルを設定することが可能でconsole.logあり、スタイルはすぐに続く必要があることに注意してください。
Qwerty、2018

9

Googleのウェブサイトから:サイト

console.log("%cThis will be formatted with large, blue text", "color: blue; font-size: x-large");
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.