【问题标题】:What would cause a "Message: 'console' is undefined" error to arise all of a sudden? [duplicate]什么会导致突然出现“消息:'控制台'未定义”错误? [复制]
【发布时间】:2015-10-29 22:50:17
【问题描述】:

我已经运行我的 Sharepoint 网页很长时间了,没有任何问题(嗯,不是这个问题),今天我得到了:

Message: 'console' is undefined
Line: 1124

注意:这个问题在 IE 中出现,但在 Chrome 中没有。在 IE 中,浏览器模式为 IE 8;文档模式为 IE 8 标准(页面默认)

第 1124 行是下面的“console.log()”行:

$(document).ready(function () {
    console.log('The ready function has been reached'); 
});

我找到了这个here的解决方案。

windowskm 在 kennytm 的回答下方的评论说:“将 if (!window.console) console = {log: function() {}}; 放在页面顶部!

我这样做了,错误消失了。但我想知道为什么以及如何这个问题是“从阴暗的灰色天空中”弹出的(当我键盘输入时,圣克鲁斯正在下雨)——这不仅仅是学术上的好奇心,而是我我想知道导致该问题的任何原因是否也可能在其他地方产生了一些尚未发现的有害影响,我需要注意。

IOW,使用上面的解决方案解决了一个问题,但是我需要根除更深层次的东西吗?

【问题讨论】:

  • 什么意思?正如我所说,它运行了好几个星期——为什么突然改变?是什么原因造成的?
  • @Mouser IE8 确实有一个控制台。
  • 出于好奇,你为什么还在用IE8?
  • 这只是开发服务器上默认安装的浏览器;我更喜欢 Chrome,但我们的许多用户仍在使用 IE 8,因此我必须在“最小公分母”模式下进行测试。
  • 您(或您的组织)最近是否推出了更新?如果是这样,其中之一可能已经更改了默认行为或设置值,这些设置值影响了您网站实施所依据的假设。一个示例可能是启用(或禁用)Intranet 应用程序兼容性。在兼容视图中显示时,Intranet 应用程序默认为 IE7 标准模式。 IE7 不支持控制台,因此会出现错误。在这种情况下,您所做的更改阻止了通话;这就是错误消失的原因。也许下一个问题是当前的文档模式是什么,为什么?

标签: javascript internet-explorer internet-explorer-8 console.log


【解决方案1】:

如果在开发人员工具未打开时调用console.log,IE 8 将始终抛出该错误。

本质上,对于 IE 8,在控制台打开之前它是一个空引用。

【讨论】:

  • 以前从未发生过,而且我几乎从未打开过 IE 开发工具;如果我想查看开发工具,我会在 Chrome 中进行。
猜你喜欢
  • 1970-01-01
  • 2014-11-20
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 2020-01-13
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
相关资源
最近更新 更多