打印javascript控制台的堆栈跟踪

时间:2015-04-02 07:08:32

标签: javascript console.log

我正在尝试在textarea中键入javascript代码并在div中显示它的结果。 我经历了一个类似的问题: showing-console-errors-and-alerts-in-a-div-inside-the-page

它适用于任何显式的控制台语句。但是当在文本区域中编写的代码中存在任何语法错误时,错误消息仅显示在控制台中,而不会在代码中捕获。

我使用的代码是:

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

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

如果我在textarea中输入console.log("hello"),则此方法有效。 但是当我故意键入console.log("he时,错误仅显示在浏览器控制台中。有没有办法可以捕获这些消息并显示它?

2 个答案:

答案 0 :(得分:2)

浏览器控制台也是如此。

try...catch添加到您的代码中。

答案 1 :(得分:0)

您可以使用window.onerror来解决问题,请尝试

window.onerror = function(e) {
  console.log(e.stack);
}