ฉันจะสร้างข้อความบันทึกคอนโซลจาวาสคริปต์ที่จัดรูปแบบได้อย่างไร


94

วันนี้ฉัน 'เดินเตาะแตะ' โดยคอนโซลใน Chrome บน Facebook
น่าแปลกใจที่ฉันได้รับข้อความนี้ในคอนโซล

ตอนนี้คำถามของฉันคือ:
เป็นไปได้อย่างไร?
ฉันรู้ว่ามีวิธี 'ใช้ประโยชน์' บางอย่างสำหรับคอนโซล แต่คุณจะจัดรูปแบบแบบอักษรในคอนโซลได้อย่างไร (และเป็น console.log หรือไม่)

คำตอบ:


133

ใช่คุณสามารถจัดรูปแบบconsole.log()ด้วยสิ่งนี้:

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

สังเกตข้อความที่นำ%cหน้าในอาร์กิวเมนต์แรกและข้อกำหนดลักษณะในอาร์กิวเมนต์ที่สอง ข้อความจะมีลักษณะเหมือนตัวอย่างของคุณ

ดู"เอาท์พุทจัดแต่งทรงผมคอนโซลด้วย CSS" ของ Googleหรือ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 เพื่อใช้กฎ CSS ที่กำหนดเองกับสตริงใด ๆ ที่คุณเขียนลงคอนโซลด้วย console.log () หรือวิธีการที่เกี่ยวข้อง

ที่มา: https://developers.google.com/web/tools/chrome-devtools/console/console-write#styling_console_output_with_css


7
สวัสดีผู้โหวตมีความคิดเห็นเพิ่มเติมหรือไม่? - เป็นการยากที่จะปรับปรุงคำตอบ (ที่คุณคิดว่าไม่ดี) เมื่อคุณไม่แสดงความคิดเห็นเพื่ออธิบายตัวเอง :)
เบลอ

31

คุณยังสามารถจัดรูปแบบสตริงย่อย

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

ป้อนคำอธิบายภาพที่นี่


4
โปรดทราบว่าเป็นไปได้ที่จะจัดสไตล์ภายในอาร์กิวเมนต์แรกเท่านั้นconsole.logและสไตล์จะต้องเป็นไปตามทันที
Qwerty

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.