我正在尝试在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
时,错误仅显示在浏览器控制台中。有没有办法可以捕获这些消息并显示它?
答案 0 :(得分:2)
浏览器控制台也是如此。
将try...catch添加到您的代码中。
答案 1 :(得分:0)
您可以使用window.onerror
来解决问题,请尝试
window.onerror = function(e) {
console.log(e.stack);
}