очистить консоль 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вы сможете использовать clear в любом скрипте на своей странице.


3
Дух ... функция JavaScript clear()... это то же самое.
чакрит

1
Возможный сценарий, при котором это может раздражать: кто-то разрабатывает веб-страницу, используя команду clear, и она пробивается в рабочий код. Вы переходите на страницу и что-то ломается. Вы не можете понять, почему, поскольку консоль была очищена страницей.
коббал

38
console.clear () теперь доступен в Chrome. Попробуйте это на Канарских островах.
Пол Ирландский

23
Вы можете просто нажать CTRL + L, когда курсор находится в консоли. Весь вывод консоли будет уничтожен.
Лидо

17
Просто заметка, clear()не работает, если вы отметили «Сохранить журнал при навигации».
beatgammit

131

Всегда есть хороший трюк:

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'));

Не самое элегантное решение, я знаю :) ... но работает.

Для меня я обычно просто печатаю длинную разделительную строку «-----», чтобы облегчить чтение журналов.


110
Когда вы не можете использовать скальпель, используйте топор. +1
mVChr

42
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'));
Ронни

1
Я бы выбрал жестко закодированную строку, так как это более читаемый код. Вы можете посмотреть на него в течение 1 секунды и точно знать, что он делает. И я полагаю, что прирост производительности тоже.
Кевин Уилер


20

Если вы используете console.clear(), кажется, что работает в Chrome. Обратите внимание, что будет выведено сообщение «Консоль была очищена».

Я проверил это, собрав кучу ошибок Javascript.

Обратите внимание, я получил ошибку сразу после очистки консоли, поэтому она не отключает консоль, а только очищает ее. Кроме того, я пробовал это только в Chrome, так что я не знаю, как это кросс-браузер.

РЕДАКТИРОВАТЬ: я проверял это в Chrome, IE, Firefox и Opera. Он работает в консолях Chrome, MSIE и Opera по умолчанию, но не в Firefox, однако работает в Firebug.


Это единственное предложение, которое сработало для меня. Хром.
Джейми Хартнолл

17

Кнопка очистки консоли Chrome

Если вы хотите просто очистить консоль при отладке, вы можете просто нажать кнопку «ban-circle» , чтобы очистить console.log.

Или просто нажмите «Ctrl + L», чтобы очистить консоль с помощью клавиатуры.


13

Хром:

console._commandLineAPI.clear();

Сафари:

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();

если вы работаете с кодировкой JavaScript.

иначе вы можете использовать, CTR+Lчтобы очистить редактор cosole.


9

Press CTRL+LЯрлык, чтобы очистить log, даже если у вас отмечен Preserve logвариант.
Надеюсь это поможет.


1
Используется в clear()течение такого долгого времени, но я никогда не думал использовать пресловутый ярлык Bash Clear-Terminal. :) Спасибо!
iamdanchiv

7

На Mac вы также можете использовать ⌘+Kкак в терминале.


это самое полезное / практическое решение театра. Спасибо! :)
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 (т.е. ваш журнал пуст, пока вы этого не сделаете). В ТИПЕ ОТЛАДКИ ОТЛАДКИ:

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. Хром - CMD+K
  2. Сафари - CMD+K
  3. Firefox - нет ярлыков

В Linux :

  1. Хром - CTRL+L
  2. Firefox - нет ярлыков

В Windows :

  1. Хром - CTRL+L
  2. IE - CTRL+L
  3. Край - 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');

Я, скорее всего, далеко от курса, но так я очищаю консоль для каждой загрузки / обновления страницы.


Вы должны изменить структуру языка, чтобы сделать этот ответ более подходящим.
Дов Бенемин Сохачески
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.