IE6 下JavaScript指令碼引入未指定編碼
阿新 • • 發佈:2018-11-16
前些日子在維護一個老的專案的時候遇到一個錯誤,錯誤資訊為“缺少物件”或其他類似資訊。
1、“缺少物件”錯誤源於js檔案工作開小差了嗎?
看到這樣的錯誤首先會想到什麼呢? 我想大部分都會想到這個方法是否存在?於是可以確認一把,把獨立js檔案中的方法移動到頁面
中,再執行測試,錯誤資訊消失,確認錯誤資訊確實源於此。那麼為什麼在方法在獨立js檔案中卻出現此問題,而且僅僅是在IE6下呢?
2、該不該拿js檔案開刀?
既然方法在單獨的頁面中無任何問題,存在於js檔案中時有此問題,那麼把該方法拷貝到引用的頁面中不就Over了嗎?開個玩笑,估
計沒人這麼傻,那麼我們需要考慮IE6這個獨立的版本的瀏覽器的問題了,既然在IE6+下無問題,js檔案的問題的嫌疑就已經消失了,那就
可以確認嫌疑人為IE6,眾所周知,很多的人都被IE6這位仁兄整的很痛苦不堪,就會對IE6的一些常用整人手段銘記於心,就會想到他有一個常用的手段就是“厚臉皮不認賬”。下面我們來看看。
錯誤之前的程式碼:
錯誤消失時程式碼:
大家發現原來就是在js引入時未指明js檔案編碼的問題,再一次讓我們嘗試到了IE6的"高明之處".
總而言之,在IE6下js檔案引入須注意編碼的指定,否則將出現引用無效的後果。