1. 程式人生 > >IE6 下JavaScript指令碼引入未指定編碼

IE6 下JavaScript指令碼引入未指定編碼

 前些日子在維護一個老的專案的時候遇到一個錯誤,錯誤資訊為“缺少物件”或其他類似資訊。

 

1、“缺少物件”錯誤源於js檔案工作開小差了嗎?

 

看到這樣的錯誤首先會想到什麼呢? 我想大部分都會想到這個方法是否存在?於是可以確認一把,把獨立js檔案中的方法移動到頁面

中,再執行測試,錯誤資訊消失,確認錯誤資訊確實源於此。那麼為什麼在方法在獨立js檔案中卻出現此問題,而且僅僅是在IE6下呢?

 

2、該不該拿js檔案開刀?

 

既然方法在單獨的頁面中無任何問題,存在於js檔案中時有此問題,那麼把該方法拷貝到引用的頁面中不就Over了嗎?開個玩笑,估

計沒人這麼傻,那麼我們需要考慮IE6這個獨立的版本的瀏覽器的問題了,既然在IE6+下無問題,js檔案的問題的嫌疑就已經消失了,那就

可以確認嫌疑人為IE6,眾所周知,很多的人都被IE6這位仁兄整的很痛苦不堪,就會對IE6的一些常用整人手段銘記於心,就會想到他有一個常用的手段就是“厚臉皮不認賬”。下面我們來看看。

 

 錯誤之前的程式碼:

 

 

 錯誤消失時程式碼:

 

 

大家發現原來就是在js引入時未指明js檔案編碼的問題,再一次讓我們嘗試到了IE6的"高明之處".

 

 總而言之,在IE6下js檔案引入須注意編碼的指定,否則將出現引用無效的後果。

 

注:此乃閒暇時所作,謹以此文練練手。