引入JS文件IE6报语法错误或缺少对象问题的解决方法 |
解决“引入JS文件IE6报错”的问题 问题描述: 页面引入一个js文件,其中定义了函数或对象,然后在页面中调用函数或对象时,在IE6会报“语法错误”或“缺少对象” 。在IE6+或者IE7却运行正常 。 问题分析: 这个对象在引入的JS文件中是存在的,因为在IE6+以上的浏览器都可以正常运行 。这个问题在于文件编码上,如果JS文件编码与当前页面的编码不一致,就可能导致在IE6中页面不能正常获取和解析JS文件中的内容,在IE6中,默认引入的文件和页面的编码是一致的 。在IE6+以上的浏览器中,一般浏览器会自动识别每个外部文件的编码并进行解析; 问题解决: 一:引入js文件时加charset属性,保持与页面编码一致; 二:修改引入文件编码格式; 三:新建一个文件格式同页面编码格式一致,复制粘贴内容; (个人建议第三种方法,但建议在导入js时加上charset属性!) 发现问题: 由于重装系统,发布项目后发现js报错:报语法错误还有缺少对象 。郁闷 以前系统是ie7,重装系统后为ie6.刚开始以为是浏览器版本问题,以为页面导入的js里面有ie6不兼容的代码!所以最后把js一行一行注释掉,当最后js文件全删掉了,还出现上面错误 。------超级郁闷 以前代码也没事,怎么重装个系统就坏了'最后找出以前项目发布了,在ie6下没有错误,代码完全一样 。------------不知还能否用郁闷一词不? 想了半天,想到编码问题 。以前项目编码为gb2312,现在项目改为UTF-8 <script language="JavaScript" type="text/javascript" src="XX.js" charset="UTF-8"> </script> 加上后没起作用,再到js该编码格式改为UTF-8运行也不行 。最后新建一个js文件编码格式改为utf-8,发布OK 。 晕死,一般编码修改(1).增加charset 。(2).修改文件编码格式 。还到tomcat下查看也已经修改过了 。不知道怎么回事! 可能要全删了在发布吧!!!不过问题总算解决'要是不重装系统,还发现不了这个小bug ----记下以后防止这种错误发生! |