禁用“console.clear()”

Phi*_*ang 7 javascript firefox

我发现一个运行此代码的网站:

\n
function check(){console.clear();before = new Date().getTime();\xe2\x80\xa6\n                 ^^^^^^^^^^^^^^^\n
Run Code Online (Sandbox Code Playgroud)\n

加载时,丢弃有价值的控制台消息。如何让 Firefox\nignoreconsole.clear()全局生效?

\n

我想知道为什么它首先存在。网站\n不应该删除可能相关的调试输出。

\n

小智 5

您可以通过两种方式解决这个问题,

首先,您可以编写一个 Firefox 扩展,它在页面加载时执行 JavaScript 并将空函数分配给 console.clear。因此,如果调用它,它不会抛出任何错误。

console.clear = () => {}
Run Code Online (Sandbox Code Playgroud)

构建扩展程序以在页面加载时运行的参考 Chrome 扩展程序:使其在每个页面加载时运行 https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Modify_a_web_page

其次,您可以加载页面一次,然后打开开发工具并转到源代码,console.clear在每个调用的地方搜索并添加断点,然后重新加载页面。当第一次调用 console.clear 时,代码执行将停止,您可以再次转到控制台并为 console.clear 分配空函数和覆盖。

在 Firefox 中使用断点的参考 https://developer.mozilla.org/en-US/docs/Tools/Debugger/How_to/Set_a_breakpoint