2011-08-26 72 views
1

因此,我正在开发一个项目,其中有一个海量数组,对应于用户可以点击以选择颜色的图片中的颜色。我有一个单独的.js文件中的数组,并在文件加载后,我有一个onload处理程序开始我的脚本的其余部分。它在Chrome/FF中工作,但在IE中它不工作,除非我打开调试器。如果我打开调试器,它会重新加载页面,并且阵列工作正常。我没有任何想法。这里是链接到我的网页,其中有项目上的最高职位目前在页面上:http://sauron.hostoi.com/log/IE 9遇到在脚本之间传递变量的问题

回答

4

它可以在Chrome/FF,但在IE它不工作,除非我打开 调试器。如果我打开调试器它重新加载页面和阵列 工作正常。

您正在使用console.log()

当您打开开发人员工具时,将定义console对象。直到你做到这一点,没有console对象在Internet Explorer中: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/拍摄片段)

+0

谢谢你这么多,真的帮了我笑。我感到很傻很简单。 – joel