[英]Print javascript error in custom console
我的浏览器没有任何控制台。 我需要将输出重定向到我的自制控制台。
有办法实现吗?
如果只是您要捕获的错误,则其中一些将转到window.onerror
处理程序 。
window.onerror = function(errorMsg, url, lineNumber) {
// ...do something with the information...
// Return false if you want to prevent the browser's default behavior
return false;
};
您可以使用几行HTML和javascript创建非常简单的自定义“控制台”。 例如:
var xConsole = { log: function(msg) { var output = '<div>' + msg + '</div>'; document.getElementById('console').insertAdjacentHTML('beforeend', output); } }; xConsole.log('test'); xConsole.log(new Date().getTime());
<pre id="console"></pre>
然后,您需要将此HTML行放置在文档中的某个位置(或动态添加)。 您还可以使用一些CSS对其进行样式设置或随意放置。
UPD 。 TJ Crowder对每个评论的改进。 这是可能的非常基本的解决方案,它也支持错误捕获:
// uncomment below line and remove "if (true) {" when used in real world //if (!window.console) { if (true) { window.console = function() { var _ = {}; _.log = function(msg) { var output = '<div>' + msg + '</div>'; document.getElementById('console').insertAdjacentHTML('beforeend', output); }; window.onerror = function(errorMsg) { _.log(errorMsg); }; return _; }(); } // Should log simple message console.log('test message'); // Should log reference error test + 1;
<pre id="console"></pre>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.