解決“引入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
----記下以后防止這種錯誤發生!
新聞熱點
疑難解答
圖片精選