如何创建格式化的javascript控制台日志消息

And*_*sen 80 html javascript exploit webkit google-chrome

今天我在Facebook上的Chrome控制台"摇摇晃晃".
令人惊讶的是,我在控制台中收到了此消息.

现在我的问题是:
这怎么可能?
我知道控制台有一些"漏洞利用"方法,但是如何在控制台中进行这种字体格式化呢?(它是console.log吗?)

Dal*_*las 112

是的,您可以使用以下内容格式化console.log():

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

请注意%c第一个参数中的文本和第二个参数中的样式规范.文本看起来就像你的例子.

有关详细信息,请参阅Google的"带CSS的样式控制台输出"FireBug的控制台文档.

文档链接还包括一些其他巧妙的技巧,例如在控制台日志中包含对象链接.


blu*_*fus 29

试试这个:

console.log("%cThis will be formatted with blue text", "color: blue");
Run Code Online (Sandbox Code Playgroud)

引用文档,

您可以使用%c格式说明符将自定义CSS规则应用于使用console.log()或相关方法写入控制台的任何字符串.

资料来源:https: //developers.google.com/web/tools/chrome-devtools/console/console-write#styling_console_output_with_css

  • 嗨,downvoter,有什么要补充的吗?-当您不发表评论解释自己时,很难改善答案(您认为不好)。:) (4认同)

Krz*_*uch 20

您还可以格式化子字符串.

var red = 'color:red';
var blue = 'color:blue';
console.log('%cHello %cWorld %cfoo %cbar', red, blue, red, blue);
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 注意,只能在“ console.log”的第一个参数内设置样式,并且样式必须立即跟随。 (2认同)

Jon*_*han 7

来自Google的网站:网站

console.log("%cThis will be formatted with large, blue text", "color: blue; font-size: x-large");
Run Code Online (Sandbox Code Playgroud)