我目前使用以下存根来帮助防止 console.log 在 Internet Explorer 8 中引发错误:
// Protect against IE8 not having developer console open.
var console = window.console || {
"log": function () {
},
"error": function () {
},
"trace": function () {
}
};
我对这个解决方案不满意,因为在针对 IE8 进行调试时,我的控制台日志被完全删除,因为开发人员窗口最初没有打开。我需要在打开开发人员窗口的情况下完全重新加载我的页面,以便我的控制台日志不会被删除。
我希望提出一个更强大的解决方案,在尝试登录时检查 console.log 的存在,而不是在第一次运行时。这将允许我在启动我的程序后打开 IE8 开发者控制台并且仍然看到错误。
有没有人有类似的解决方案?是否需要使用新变量进行日志记录的解决方案?例如:
var newConsole = window.console || {
"log": function () {
if( window.console ) window.console.log(arguments);
},
"error": function () {
if( window.console ) window.console.error(arguments);
},
"trace": function () {
if( window.console ) window.console.trace(arguments);
}
};