web-dev-qa-db-fra.com

Comment créer des messages de journal de la console javascript formatés

Je me suis fait dandiner par la console dans Chrome sur Facebook aujourd'hui.
Étonnamment, ce message a été affiché sur la console.

Maintenant ma question est:
Comment est-ce possible?
Je sais qu’il existe quelques méthodes "exploit" pour la console, mais comment pouvez-vous créer un tel formatage de police dans la console? (et est-ce console.log?)

76
Anders Kjeldsen

Oui, vous pouvez formater la console.log() avec quelque chose comme ceci:

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

Noter la %c précédant le texte du premier argument et les spécifications de style du second argument. Le texte ressemblera à votre exemple.

Voir "Sortie de la console de style avec CSS" de Google ou Documentation de la console de FireBug pour plus de détails.

Les liens de documentation incluent également d'autres astuces intéressantes, telles que l'inclusion de liens d'objet dans un journal de console.

105
Dallas

Essaye ça:

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

Citant les docs,

Vous utilisez le spécificateur de format% c pour appliquer des règles CSS personnalisées à toute chaîne écrite dans la console à l'aide de console.log () ou de méthodes connexes.

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

25
ochi

Vous pouvez également formater des sous-chaînes.

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

enter image description here

18
Krzysztof Boduch

Depuis le site Web de Google: site

console.log("%cThis will be formatted with large, blue text", "color: blue; font-size: x-large");
7
Jonathan