我的浏览器没有任何控制台。 我需要将输出重定向到我自己的主控台。
有没有办法实现这个目标?
答案 0 :(得分:3)
如果只是想要捕获的错误,那么其中一些会转到window.onerror
handler。
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;
};
答案 1 :(得分:1)
您可以创建非常简单的自定义" console"几行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());
&#13;
<pre id="console"></pre>
&#13;
然后,您需要将此HTML行放在文档中的某个位置(或动态附加它)。您也可以使用一些CSS来设置它或根据需要定位它。
<强> UPD 即可。 T.J.的评论改进克劳德。这里有一个非常基本的解决方案,也可以支持错误捕获:
// 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;
&#13;
<pre id="console"></pre>
&#13;