打印 javascript 控制台的堆栈跟踪
printing stack trace of javascript console
我正在尝试在文本区域中键入 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
如果我在文本区域中键入 console.log("hello")
,这将起作用。
但是当我故意输入 console.log("he
时,错误仅显示在浏览器控制台中。有什么方法可以捕获此类消息并显示出来吗?
浏览器控制台的操作方式相同。
将 try...catch 添加到您的代码中。
可以用window.onerror
解决问题,试试
window.onerror = function(e) {
console.log(e.stack);
}
我正在尝试在文本区域中键入 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
如果我在文本区域中键入 console.log("hello")
,这将起作用。
但是当我故意输入 console.log("he
时,错误仅显示在浏览器控制台中。有什么方法可以捕获此类消息并显示出来吗?
浏览器控制台的操作方式相同。
将 try...catch 添加到您的代码中。
可以用window.onerror
解决问题,试试
window.onerror = function(e) {
console.log(e.stack);
}