如何在Console中隐藏日志消息的来源?

时间:2016-01-13 09:25:12

标签: javascript jquery

将消息输出到控制台时,也会显示来源(在Chrome开发者工具中,它位于右侧):

console.log("Foo");                         //Source
Foo                               test.js:1 //Output

但是,在某些网站上,消息会显示而不显示来源,例如在Facebook上:

Console screenshot on Facebook.com

看一下Chrome Console API Reference,有大量不同输出的例子,但所有输出都显示了来源。

如何隐藏控制台输出的来源(.js页面和行号?)

编辑:只是为了澄清,这不是How does Facebook disable the browser's integrated Developer Tools?的重复,因为该问题解决了控制台如何禁用标准用户输入(其答案解释了它的工作原理)。我特别询问不显示源文件和行的美感。

2 个答案:

答案 0 :(得分:26)

他们正在使用setTimeout与源分离:

setTimeout(console.log.bind(console, '\n%c' + s[0], s[1]));

答案 1 :(得分:1)

对于仍在寻找此商品的人,您可以使用类似

function consoleWithNoSource(...params) {
  setTimeout(console.log.bind(console, ...params));
}

consoleWithNoSource("Helloo....!")