解決「引入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
加上後沒起作用,再到js該編碼格式改為UTF-8運作也不行。最後新建一個js檔案編碼格式改為utf-8,發布OK。
暈死,一般編碼修改(1).增加charset。 (2).修改文件編碼格式。還到tomcat下查看也已經修改過了。不知道怎麼回事!
可能要全刪了在發佈吧! ! !不過問題總算解決~要是不重裝系統,還發現不了這個小bug ----記下以後防止這種錯誤發生!