【问题标题】:clear javascript console in Google Chrome在 Google Chrome 中清除 javascript 控制台
【发布时间】:2011-03-01 23:52:48
【问题描述】:

我想知道我是否可以用一些命令清除控制台..

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

[我想没有办法清理控制台...但我希望有人对我说...]

【问题讨论】:

标签: javascript console google-chrome


【解决方案1】:

更新:console.clear() 适用于所有浏览器

更新:截至 2012 年 11 月 6 日,console.clear() 在 Chrome Canary 中为 now available


如果您在控制台中输入clear(),它会清除它。

我认为没有办法以编程方式执行此操作,因为它可能会被滥用。 (控制台被某些网页清除,最终用户无法访问错误信息)

一种可能的解决方法:

在控制台输入window.clear = clear,然后您就可以在页面上的任何脚本中使用clear。

【讨论】:

  • duh... javascript 函数是clear() ... 是一样的。
  • 一个可能会令人讨厌的场景:有人开发了一个网页,使用 clear 命令,它进入了生产代码。您导航到该页面并且某些内容中断了。您无法弄清楚为什么,因为控制台已被页面清除。
  • console.clear() 现在可在 Chrome 中使用。在 Canary 中尝试一下。
  • 当光标聚焦在控制台时,您可以简单地按 CTRL+L。所有控制台输出都将被擦除。
  • 请注意,clear() 如果您选中了“导航时保留日志”,则该选项不起作用。
【解决方案2】:

总有好办法:

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

这不是最优雅的解决方案,我知道 :) ...但有效。

对我来说,我通常只打印一个长的“-----”分隔线,以帮助使日志更易于阅读。

【讨论】:

  • 当你不能使用手术刀时,使用斧头。 +1
  • console.log(new Array(24 + 1).join('\n') 做同样的事情,但要短得多。 :)
  • @Nyuszika7H 如果您追求简洁:console.log(Array(25).join('\n'))。在没有 new 运算符的情况下调用 Array 构造函数会返回一个数组。
  • 不错的建议。我正在准备一个使用 console.info 作为“演示者注释”的网络演示(在 Christian's advice 之后),这就是我想出的,以防我不记得分配 window.alertvar hasClear = (typeof clear == 'function'); if(hasClear) clear(); console.info('bla'); if(!hasClear) console.log(Array(18).join('\n'));
  • 我会选择硬编码字符串,因为它是更易读的代码。你可以看它 1 秒钟,并确切地知道它的作用。而且我想也有性能提升。
【解决方案3】:

MacOS 上:

  1. 铬 - CMD+K
  2. Safari - 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 *://*/* 更新元数据,使其在每个页面上运行。只有当焦点在页面上时它才会起作用。这只是一种解决方法。

【讨论】:

    【解决方案4】:

    我要补充一下,因为它是在 google 上名列前茅的搜索..

    当使用 ExtJS / Javascript 我插入这个并且控制台被清除 - 除非有错误..

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

    我很可能偏离了方向,但这就是我为每个页面加载/刷新清除控制台的方式。

    【讨论】:

    • 您应该重组语言以使其成为更合适的答案。
    【解决方案5】:

    无需输入命令,只需按:

    CLTRL + L
    

    清除 chrome 控制台

    【讨论】:

    • clear()console.clear() 返回一个烦人的 Console was clearedundefined 消息,这个命令真的清除它......非常感谢
    • 是的,我一直用这个,很好!
    【解决方案6】:

    如果你只想在调试的时候清除控制台,你可以简单地点击“ban-circle”按钮来清除console.log。

    或者,只需按 “Ctrl+L” 即可使用键盘清除控制台。

    【讨论】:

      【解决方案7】:

      你可以使用

      console.clear();
      

      如果您正在使用 javascript 编码。

      否则您可以使用CTR+L 清除 cosole 编辑器。

      【讨论】:

        【解决方案8】:

        以编程方式清除控制台的多个答案的便捷汇编(来自脚本,而不是控制台本身):

        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
        }
        

        【讨论】:

          【解决方案9】:

          Chrome - 在关注控制台输入时按下 CTRL + L

          Firefox - clear() 在控制台输入中。

          Internet Explorer - 按下 CTRL + L 同时聚焦控制台输入。

          Edge - 在聚焦控制台输入时按下 CTRL + L

          祝你有美好的一天!

          【讨论】:

            【解决方案10】:

            这似乎工作得很好:

            console.clear();
            

            【讨论】:

              【解决方案11】:

              Press CTRL+L 清除 log 的快捷方式,即使您已勾选 Preserve log 选项。
              希望这可以帮助。

              【讨论】:

              • 使用clear() 这么长时间了,但我从没想过要使用 Bash 臭名昭著的清除终端快捷方式。 :) 谢谢!
              【解决方案12】:

              根据 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

              【讨论】:

                【解决方案13】:

                在 Chrome 中本地调试时,我使用以下为 cls 别名(在控制台中输入以下 JavaScript):

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

                现在在控制台中输入cls 将清除控制台。

                【讨论】:

                  【解决方案14】:

                  如果您使用console.clear(),这似乎适用于 chrome。请注意,它会输出“控制台已清除”消息。

                  注意,我在清除控制台后立即收到错误,因此它不会禁用控制台,只会清除它。另外,我只在chrome中尝试过,所以我不知道它是如何跨浏览器的。

                  编辑:我在 Chrome、IE、Firefox 和 Opera 中对此进行了测试。它适用于 Chrome、MSIE 和 Opera 的默认控制台,但不适用于 Firefox,但它确实适用于 Firebug。

                  【讨论】:

                  • 这是唯一对我有用的建议。铬。
                  【解决方案15】:

                  铬:

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

                  【讨论】:

                  • 这仅适用于 Chrome 上的控制台本身,在这种情况下,您也可以直接使用 clear()
                  【解决方案16】:

                  在 Mac 上,您也可以像在终端中一样使用 ⌘+K

                  【讨论】:

                  • 这是thead最有用/实用的解决方案。谢谢! :)
                  【解决方案17】:

                  在 Chrome 控制台上用鼠标右键单击,我们可以选择清除控制台

                  【讨论】:

                    【解决方案18】:

                    我认为由于“安全问题”而不再可用。

                    console.log(console) 来自代码:

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

                    在代码外部,_commandLineAPI 可用。有点烦人,因为有时我只想记录而不看到旧的输出。

                    【讨论】:

                    • 在确定对象上可用的方法时不要忘记遵循原型链:)
                    【解决方案19】:
                    console._inspectorCommandLineAPI.clear()
                    

                    这是有效的

                    【讨论】:

                    • Uncaught TypeError: Cannot call method 'clear' of undefined
                    猜你喜欢
                    • 2013-01-27
                    • 2016-03-20
                    • 2011-10-30
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2022-06-25
                    相关资源
                    最近更新 更多