ล้างคอนโซล javascript ใน Google Chrome


215

ฉันสงสัยว่าฉันสามารถล้างคอนโซลด้วยคำสั่งบางอย่าง ..

console.log()สามารถพิมพ์ ... มีคำสั่งให้ล้างข้อมูลคอนโซลหรือไม่ ..

ฉันได้ลองconsole.log(console);และรับฟังก์ชั่นนี้ด้านล่าง ...

assert: function assert() { [native code] }
constructor: function Console() { [native code] }
count: function count() { [native code] }
debug: function debug() { [native code] }
dir: function dir() { [native code] }
dirxml: function dirxml() { [native code] }
error: function error() { [native code] }
group: function group() { [native code] }
groupEnd: function groupEnd() { [native code] }
info: function info() { [native code] }
log: function log() { [native code] }
markTimeline: function markTimeline() { [native code] }
profile: function profile() { [native code] }
profileEnd: function profileEnd() { [native code] }
time: function time() { [native code] }
timeEnd: function timeEnd() { [native code] }
trace: function trace() { [native code] }
warn: function warn() { [native code] }
__proto__: Object

[ฉันเดาว่าไม่มีทางที่จะเคลียร์คอนโซล ... แต่ฉันอยากให้มีคนพูดกับฉัน ... ]


คำตอบ:


310

อัปเดต: ณ วันที่ 6 พฤศจิกายน 2012 console.clear()มีให้บริการใน Chrome Canary แล้ว


หากคุณพิมพ์clear()ลงในคอนโซลมันจะล้างมัน

ฉันไม่คิดว่าจะมีวิธีที่จะทำแบบเป็นโปรแกรมเนื่องจากอาจถูกนำไปใช้ในทางที่ผิด (บางหน้าถูกล้างคอนโซลผู้ใช้ไม่สามารถเข้าถึงข้อมูลข้อผิดพลาดได้)

วิธีแก้ปัญหาหนึ่งที่เป็นไปได้:

ในประเภทคอนโซลwindow.clear = clearจากนั้นคุณจะสามารถใช้งานสคริปต์ที่ชัดเจนในหน้าเว็บของคุณได้


3
duh ... ฟังก์ชั่นจาวาสคริปต์คือclear()... มันเป็นสิ่งเดียวกัน
chakrit

1
สถานการณ์ที่เป็นไปได้ที่มันจะน่ารำคาญ: บางคนพัฒนาเว็บเพจโดยใช้คำสั่งที่ชัดเจนและทำให้มันเป็นรหัสการผลิต คุณนำทางไปยังหน้าและสิ่งที่แบ่ง คุณไม่สามารถหาเหตุผลได้ว่าทำไมหน้านี้จึงถูกล้างโดยคอนโซล
cobbal

38
console.clear () พร้อมใช้งานแล้วใน Chrome ลองใช้ใน Canary
พอลไอริช

23
คุณสามารถกด CTRL + L ในขณะที่เคอร์เซอร์โฟกัสอยู่ที่คอนโซล เอาต์พุตคอนโซลทั้งหมดจะถูกลบ
Lido

17
เพียงแค่ทราบclear()ไม่ทำงานถ้าคุณได้เลือก "รักษาบันทึกเมื่อนำทาง"
beatgammit

130

มีเคล็ดลับเฒ่าที่ดีอยู่เสมอ:

console.log("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

หรือรูปแบบที่สั้นกว่าของด้านบน:

console.log('\n'.repeat('25'));

ไม่ใช่วิธีที่สง่างามที่สุดฉันรู้ว่า :) ... แต่ใช้ได้ดี

สำหรับฉันฉันมักจะพิมพ์บรรทัดคั่นยาว "-----" เพื่อช่วยให้บันทึกอ่านง่ายขึ้น


109
เมื่อคุณไม่สามารถใช้มีดผ่าตัดให้ใช้ขวาน +1
mVChr

41
console.log(new Array(24 + 1).join('\n')ทำสิ่งเดียวกัน แต่สั้นกว่ามาก :)
nyuszika7h

15
@ Nyuszika7H console.log(Array(25).join('\n'))ถ้าคุณหลังจากรัดกุม: การเรียกArrayนวกรรมิกโดยไม่มีnewโอเปอเรเตอร์นั้นจะส่งกลับอาร์เรย์
alex

2
คำแนะนำที่ดี ฉันกำลังเตรียมการนำเสนอเว็บด้วย console.info เป็น "บันทึกของผู้นำเสนอ" (ตามคำแนะนำของคริสเตียน ) และนี่คือสิ่งที่ฉันคิดขึ้นมาในกรณีที่ฉันจำไม่ได้ว่าจะมอบหมายwindow.alert: var hasClear = (typeof clear == 'function'); if(hasClear) clear(); console.info('bla'); if(!hasClear) console.log(Array(18).join('\n'));
Ronny

1
ฉันจะเลือกใช้สตริงที่เข้ารหัสยากเนื่องจากเป็นรหัสที่อ่านง่ายขึ้น คุณสามารถดูได้ 1 วินาทีและรู้ว่ามันทำอะไร และฉันก็คิดว่ามันก็มีประสิทธิภาพเพิ่มขึ้นเช่นกัน
Kevin Wheeler


20

ถ้าคุณใช้console.clear()ดูเหมือนว่าจะทำงานในโครเมี่ยม หมายเหตุมันจะส่งออกข้อความ "คอนโซลถูกล้าง"

ฉันทดสอบสิ่งนี้โดยดึงข้อผิดพลาด Javascript ขึ้นมามากมาย

หมายเหตุฉันได้รับข้อผิดพลาดทันทีหลังจากการล้างคอนโซลดังนั้นจึงไม่ได้ปิดการใช้งานคอนโซลเท่านั้นจึงจะล้างได้ นอกจากนี้ฉันเพิ่งลองใช้ Chrome เท่านั้นฉันไม่รู้ว่ามันเป็นเบราว์เซอร์อย่างไร

แก้ไข:ฉันทดสอบสิ่งนี้ใน Chrome, IE, Firefox และ Opera มันทำงานได้ในคอนโซลเริ่มต้นของ Chrome, MSIE และ Opera แต่ไม่ใช่ใน Firefox แต่จะทำงานใน Firebug


นี่เป็นข้อเสนอแนะเดียวที่เหมาะกับฉัน โครเมียม.
Jamie Hartnoll

17

ปุ่มล้างคอนโซล Chrome

หากคุณต้องการล้างคอนโซลเมื่อทำการดีบั๊กคุณสามารถคลิก "แบนด์วงกลม" เพื่อล้าง console.log

หรือเพียงแค่กด"Ctrl + L"เพื่อล้างคอนโซลโดยใช้แป้นพิมพ์ของคุณ


13

โครเมียม:

console._commandLineAPI.clear();

Safari:

console._inspectorCommandLineAPI.clear();

คุณสามารถสร้างตัวแปรของคุณเองซึ่งทำงานได้ทั้ง:

if (typeof console._commandLineAPI !== 'undefined') {
    console.API = console._commandLineAPI;
} else if (typeof console._inspectorCommandLineAPI !== 'undefined') {
    console.API = console._inspectorCommandLineAPI;
} else if (typeof console.clear !== 'undefined') {
    console.API = console;
}

console.API.clear()หลังจากนั้นคุณก็สามารถใช้


5
สิ่งนี้จะทำงานผ่านคอนโซลตัวเองบน Chrome ซึ่งในกรณีนี้คุณสามารถทำได้clear()ทันที
pimvdb

10

คุณสามารถใช้ได้

console.clear();

หากคุณกำลังทำงานกับการเข้ารหัสจาวาสคริปต์

มิฉะนั้นคุณสามารถใช้CTR+Lเพื่อล้างตัวแก้ไข cosole


9

Press CTRL+Lทางลัดเพื่อล้างlogแม้ว่าคุณจะPreserve logเลือกตัวเลือก
หวังว่านี่จะช่วยได้


1
ใช้clear()มานานมากแล้ว แต่ฉันก็ไม่เคยคิดที่จะใช้ช็อตคัทเทอร์มินัลอันโด่งดังของ Bash :) ขอบคุณ!
iamdanchiv

7

สำหรับ Mac คุณสามารถใช้งานได้⌘+Kเหมือนใน Terminal


นี่เป็นทางออกที่มีประโยชน์ / ปฏิบัติมากที่สุดของ thead ขอบคุณ! :)
Mg Gm


4

บนคอนโซล Chrome คลิกขวาด้วยเมาส์และเรามีตัวเลือกในการล้างคอนโซล


4

ฉันใช้สิ่งต่อไปนี้เป็นนามแฝงclsเมื่อทำการดีบักแบบโลคัลใน Chrome (ป้อน JavaScript ต่อไปนี้ในคอนโซล):

Object.defineProperty(window, 'cls', {
    get: function () {
        return console.clear();
    }
});

ตอนนี้เข้าสู่clsคอนโซลจะล้างคอนโซล


4

การรวบรวมที่สะดวกของคำตอบหลายคำตอบสำหรับการล้างคอนโซลโดยทางโปรแกรม (จากสคริปต์ไม่ใช่คอนโซลเอง):

if(console._commandLineAPI && console._commandLineAPI.clear){
    console._commandLineAPI.clear();//clear in some safari versions
}else if(console._inspectorCommandLineAPI && console._inspectorCommandLineAPI.clear){
    console._inspectorCommandLineAPI.clear();//clear in some chrome versions
}else if(console.clear){
    console.clear();//clear in other chrome versions (maybe more browsers?)
}else{
    console.log(Array(100).join("\n"));//print 100 newlines if nothing else works
}


3

ตามคำตอบของ Cobbal นี่คือสิ่งที่ฉันทำ:

ในของJavaScriptฉันฉันใส่ต่อไปนี้:

setInterval(function() {
  if(window.clear) {
    window.clear();
    console.log("this is highly repeated code");
  }
}, 10);

รหัสตามเงื่อนไขจะไม่ทำงานจนกว่าคุณจะกำหนด window.clear (หมายถึงบันทึกของคุณจะว่างเปล่าจนกว่าคุณจะทำ) ในประเภทคอนโซล DEBUG:

window.clear = clear;

Violà - บันทึกที่ล้างตัวเอง

Mac OS 10.6.8 - Chrome 15.0.874.106


3

Chrome - กดCTRL+ Lขณะที่มุ่งเน้นอินพุตคอนโซล

Firefox - clear()ในอินพุตคอนโซล

Internet Explorer - กดCTRL+Lในขณะที่โฟกัสอินพุตคอนโซล

Edge - กดCTRL+ Lในขณะที่โฟกัสอินพุตคอนโซล

ขอให้มีความสุขในวันนี้!


2

ในMacOS :

  1. Chrome - CMD+K
  2. Safari - CMD+K
  3. Firefox - ไม่มีทางลัด

บนLinux :

  1. Chrome - CTRL+L
  2. Firefox - ไม่มีทางลัด

บนWindows :

  1. Chrome - CTRL+L
  2. IE - CTRL+L
  3. Edge - CTRL+L
  4. Firefox - ไม่มีทางลัด

เพื่อให้สามารถใช้งานได้ใน Firefox userscriptsสามารถใช้งานได้ ดาวน์โหลดGreaseMonkeyส่วนขยายสำหรับ FF

document.addEventListener("keydown",function(event){
    if(event.metaKey && event.which==75) //CMD+K
    {
        console.clear();
    }
});

ในสคริปต์อัพเดตข้อมูลเมตาด้วยค่า//@include *://*/*เพื่อให้มันรันบนทุกหน้า มันจะทำงานเฉพาะเมื่อโฟกัสอยู่บนหน้า มันเป็นเพียงวิธีแก้ปัญหา


1

ฉันคิดว่านี่ไม่สามารถใช้งานได้อีกต่อไปเนื่องจาก 'ปัญหาด้านความปลอดภัย'

console.log(console) จากรหัสให้:

Console
memory: MemoryInfo
profiles: Array[0]
__proto__: Console

_commandLineAPI จากภายนอกรหัสสามารถใช้ได้ ชนิดที่น่ารำคาญเพราะบางครั้งฉันต้องการเพียงบันทึกและไม่เห็นผลลัพธ์เก่า


1
อย่าลืมที่จะปฏิบัติตามห่วงโซ่ต้นแบบเมื่อพิจารณาสิ่งที่วิธีการที่มีอยู่บนวัตถุ :)
alex

-1

ฉันกำลังจะเพิ่มสิ่งนี้เนื่องจากเป็นการค้นหาที่ติดอันดับต้น ๆ ใน google ..

เมื่อใช้ ExtJS / Javascript ฉันใส่สิ่งนี้และคอนโซลจะถูกล้างออก - เว้นแต่จะมีข้อผิดพลาด ..

console.log('\033[2J');

ฉันเป็นไปได้มากกว่าหลักสูตร แต่นี่เป็นวิธีที่ฉันล้างคอนโซลสำหรับแต่ละหน้าโหลด / รีเฟรช


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