如何使用控制台登入 Internet Explorer?

IE 有控制台日志记录器吗?我试图将一些测试/断言记录到控制台,但是在 IE 中做不到。

202166 次浏览

有一个 轻型萤火虫,它在 IE 中提供了很多 Firebug 功能。

自从版本8以来,Internet Explorer 和其他浏览器一样拥有自己的控制台。但是,如果控制台未启用,则 console对象不存在,对 console.log的调用将抛出一个错误。

另一个选择是使用 log4javascript(完全公开: 由我编写) ,它有自己的日志控制台,可以在所有的主流浏览器中工作,包括 IE > = 5,加上浏览器自己的控制台的包装器,避免了未定义的 console的问题。

您可以通过启动“开发人员工具”(F12)来访问 IE8脚本控制台。单击“脚本”选项卡,然后单击右侧的“控制台”。

From within your JavaScript code, you can do any of the following:

<script type="text/javascript">
console.log('some msg');
console.info('information');
console.warn('some warning');
console.error('some error');
console.assert(false, 'YOU FAIL');
</script>

此外,还可以通过调用 console.clear()来清除控制台。

注意: 看起来你必须先启动开发工具,然后刷新你的页面才能工作。

如果在生产环境中使用 console. log () ,这一点非常重要:

如果您最终将 console.log()命令发布到生产环境,那么您需要对 IE 进行某种修复——因为 console仅在 F12调试模式下定义。

if (typeof console == "undefined") {
this.console = { log: function (msg) { alert(msg); } };
}

[显然删除警报(msg) ; 语句,一旦您验证它的工作]

有关其他解决方案和更多细节,请参见 控制台是未定义的 Internet Explorer 错误

对于 IE8或者仅限于 console.log 的控制台支持(无调试、跟踪、 ...) ,您可以执行以下操作:

  • If console OR console.log undefined: Create dummy functions for 控制台函数(跟踪、调试、日志、 ...)

    控制台 = { 函数(){} ,... } ;

  • 否则,如果 console.log 被定义(IE8) ,并且 console.debug (任何其他)没有被定义: 将所有的日志函数重定向到 console.log,这允许保留那些日志!

    控制台 = { 调试: window.console.log,... } ;

不确定在不同的 IE 版本中是否支持断言,但是欢迎任何建议。

Simple IE7 and below shim that preserves Line Numbering for other browsers:

/* console shim*/
(function () {
var f = function () {};
if (!window.console) {
window.console = {
log:f, info:f, warn:f, debug:f, error:f
};
}
}());

John Resig (jQuery 的创建者)在他的书《 Javascript 忍者的秘密》中有一个非常简单的代码,可以处理跨浏览器的 console.log 问题。他解释说,他希望有一个可以在所有浏览器上工作的日志消息,以下是他如何编码它的:

function log() {
try {
console.log.apply(console, arguments);
} catch(e) {
try {
opera.postError.apply(opera, arguments);
}
catch(e) {
alert(Array.prototype.join.call( arguments, " "));
}
}

可以使用跨浏览器包装: https://github.com/MichaelZelensky/log.js

For older version of IE (before IE8), it is not straight forward to see the console log in IE Developer Toolbar, after spending hours research and trying many different solutions, finally, the following toolbar is great tool for me:

这样做的主要优点是为 IE6或 IE7提供了一个控制台,因此您可以看到(在控制台日志中)出现了哪些错误

  • 注:
  • 是免费的
  • 工具栏的屏幕截图

enter image description here

我一直都是这么做的:

var log = (function () {
try {
return console.log;
}
catch (e) {
return function () {};
}
}());

从那时起,只需要使用 log (...) ,不要太喜欢使用控制台。[警告 | 错误 | 等等] ,保持简单。我通常更喜欢简单的解决方案,而不喜欢外部库,它通常是值得的。

避免 IE 问题的简单方法(使用不存在的 console.log)