IE 9在脚本之间传递变量时遇到麻烦

时间:2011-08-26 02:08:20

标签: javascript html internet-explorer

所以我正在开发一个项目,我有一个大型数组,对应于图片中的颜色,用户可以点击这些颜色来选择颜色。我有一个单独的.js文件中的数组,并在该文件加载后我有一个onload处理程序开始我的脚本的其余部分。它适用于Chrome / FF,但在IE中它不起作用,除非我打开调试器。如果我打开调试器,它会重新加载页面,阵列工作正常。我没有任何想法。这是指向我的页面的链接,该页面上的项目是当前页面上的顶部帖子:http://sauron.hostoi.com/log/

1 个答案:

答案 0 :(得分:4)

  

它可以在Chrome / FF中运行,但在IE中它不起作用,除非我打开   调试器。如果我打开调试器,它会重新加载页面和数组   工作正常。

您正在使用console.log()

当您打开开发人员工具时,会定义console对象。在您这样做之前,Internet Explorer中没有console对象:Does IE9 support console.log, and is it a real function?

要解决此问题,您可以删除/注释掉console.log()来电,或在JavaScript开头添加类似内容:

// make it safe to use console.log always
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();)b[a]=b[a]||c})(window.console=window.console||{});

(摘自http://html5boilerplate.com/