返回文章列表

记浏览器 console.log 失效,不打印

console.log 无效了,控制台里看不到对应输出。

排查过程

  1. 第一反应是浏览器插件可能有问题,先禁用了所有插件。

  2. 然后排查是不是 webpack 的配置项有问题,比如是否在开发环境错误地压缩代码导致 console.log 被删除。

  3. 前两步都没排查出问题,且只有该项目存在无法打印的问题。懵了一会,决定查看 console.log 是否被劫持改写。

  4. 在控制台直接敲

console.log
//输出: function(){}

破案了,console 对象被劫持改写了,剩下的就是排查是哪里改写的。

结论

结果是 HTML 模板里,有一部分代码(直接写进 HTML 的脚本)是使用第三方工具压缩混淆粘贴过来的。

混淆的代码中重写了 console 里的各个方法,应该是为了防止用户恶意 debug。