如何在div上显示所有控制台消息?

时间:2015-05-05 11:29:42

标签: javascript console.log

我有这段代码:

 if (typeof console  != "undefined")
          if (typeof console.log != 'undefined')
            console.olog = console.log;
          else
            console.olog = function() {};

        console.log = function(message) {
          console.olog(message);
          $('#debugDiv').append('<p>' + message + '</p>');
        };
        console.error = console.debug = console.info =  console.log

哪个适用于简单的控制台日志,但我想要一切!浏览器中的控制台显示的所有内容,我想要的是div:

例如:

  i170.png:1 GET http://localhost:3000/modules/core/img/items/i170.png 404 (Not Found)
    i183.png:1 GET http://localhost:3000/modules/core/img/items/i183.png 404 (Not Found)

没有显示在我创建的div中,我如何才能将所有内容显示在那里?

1 个答案:

答案 0 :(得分:4)

这里有两个问题。

1)转储传递给console.log的所有参数

您可以在arguments中获得该函数的所有参数。所以这是一个可能的解决方案。

更改

console.log = function() {
      console.olog.apply(console, arguments);
      $('#debugDiv').append('<p>' + [].map.call(arguments, JSON.stringify) + '</p>');
};

window.onerror = console.log;

2)获取所有错误

最简单的解决方案是添加

onerror

但请注意,某些错误不会触发magicValue(),也无法在JS中捕获。