Come faccio a creare messaggi di log della console javascript formattati


91

Oggi ho "ondeggiato" dalla console in Chrome su Facebook.
Sorprendentemente ho ricevuto questo messaggio nella console.

Ora la mia domanda è:
come è possibile?
So che ci sono alcuni metodi di "exploit" per la console, ma come puoi rendere tale formattazione dei caratteri nella console? (ed è console.log?)

Risposte:


131

Sì, puoi formattare il console.log()con qualcosa del genere:

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

Notare quanto %cprecede il testo nel primo argomento e le specifiche di stile nel secondo argomento. Il testo sarà simile al tuo esempio.

Per ulteriori dettagli, vedere " Applicazione di stili all'output della console con CSS" o la documentazione della console di FireBug .

I collegamenti alla documentazione includono anche altri trucchi accurati come l'inclusione di collegamenti a oggetti in un registro della console.


Si potrebbe voler controllare che un browser compatibile è in uso prima di tentare di utilizzare stringhe di formato in console.log, dal momento che i browser più vecchi potrebbero fermare lo script con un'eccezione. caniuse dice che è stato introdotto in Firefox 9 e Edge 79; Chrome ha iniziato a supportarlo evidentemente un po 'di tempo prima di Chrome 83 ma non sappiamo esattamente quando.
Silas S. Brown,

38

Prova questo:

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

Citando i documenti,

Utilizza l'identificatore di formato% c per applicare regole CSS personalizzate a qualsiasi stringa che scrivi nella console con console.log () o metodi correlati.

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


7
Ciao downvoter, qualche commento da aggiungere? - è difficile migliorare una risposta (che pensi non sia buona) quando non lasci commenti per spiegare te stesso. :)
blurfus

30

Puoi anche formattare sottostringhe.

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

inserisci qui la descrizione dell'immagine


4
Notare che è possibile applicare uno stile solo all'interno del primo argomento di console.loge gli stili devono seguire immediatamente.
Qwerty

9

Dal sito web di Google: site

console.log("%cThis will be formatted with large, blue text", "color: blue; font-size: x-large");
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.