控制台是IE9中未定义的错误。

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (95)

我有一个图形页面显示SVG图形。我正在使用Raphael图形框架。该页面在Firefox中正确显示,如果在IE9中将F12开发工具设置为“ON”,则该页面运行良好。如果启动F12开发人员模式,并且启动浏览器缓存(模拟一般用户),则地图显示IE9中的部分数据(其节点链接图,它只显示IE9中的一个子节点)。

更新:我保持调试器,并显示错误“控制台是未定义的”。所以我认为这不是一个图形渲染问题,我也没有显式地使用控制台,也许Mindmap js在内部使用它,但是如何再一次解决这个问题呢?

提问于
用户回答回答于

可能是你的代码或你正在调用的代码正在使用。console.log或者类似的东西。

可以在全局范围中添加此代码,以便为IE(或任何不支持它的浏览器)创建一个虚拟包装器。在调用任何其他库之前,只需将以下代码放在某个地方即可:

if(!(window.console && console.log)) {
  console = {
    log: function(){},
    debug: function(){},
    info: function(){},
    warn: function(){},
    error: function(){}
  };
}
用户回答回答于

问题是,你的js代码有时会调用控制台方法,例如“sole e.log”,但是浏览器没有控制台(或者关闭了控制台);

若要解决此问题,请在包含任何脚本之前添加以下:

//Ensures there will be no 'console is undefined' errors
window.console = window.console || (function(){
    var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
    return c;
})();

这将创建一个‘伪’控制台,只有当它不存在,所以‘控制台是未定义的’错误将消失。

所属标签

可能回答问题的人

  • Hanzo

    6 粉丝0 提问7 回答
  • Richel

    9 粉丝0 提问3 回答
  • mariolu

    31 粉丝0 提问2 回答
  • 上云小秘书

    15 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券