[ERROR]為什麼同樣的ASP.NET程式,在A電腦(非IE6)是OK的,在B電腦(IE6)卻不行呢?

為什麼同樣的ASP.NET程式,在A電腦(非IE6)是OK的,在B電腦(IE6)卻不行呢?

今天跟同事去查一個ASP.NET 1.1的程式,在A電腦是OK的,在B電腦卻不行呢?

於是請使用B電腦的User用Fiddler錄看看有什麼異常。

查看了一下,並沒有404的錯誤,所以JS應該是有正常的download(JS有302,同事說JS並沒有修改)!

於是跟A電腦中錄的Fiddler結果來比較,發現B電腦居然會有Post (Postback)的情況!

合理懷疑應該是JS發生錯誤,而導致Postback了!

所以將B電腦的IE中,網際網路選項->進階->瀏覽器->Disable script debugging(Internet Explorer)的設定取消(一般使用者的IE設定都是關閉debug的!)。

image

 

然後重新開啟IE進入功能後,馬上發生Javascript的錯誤!

按下除錯,看一下,JS內容中有些中文居然變成了「亂碼」,所以導致JS發生錯誤!

可參考「JS檔編碼為Big5導致在IE6執行JS發生錯誤(IE7, 8卻都正常)

應該是因為JS檔案編碼問題所造成的!

於是在AP Server中開啟JS查看,編碼是Big5,而網頁的編碼卻是UTF8(與JS檔案的編碼不同!!!)。

所以將JS的編碼存成UTF-8後,再到B電腦試就可以了!

所以JS檔案的編碼要與網頁的編碼相同哦! 

或是可以試試看 設定MIME ,指定js的編碼哦!

而目前筆者測試發現只有IE6會發生因為JS編碼跟網頁編碼不同而發生錯誤的狀況哦!

難怪同事們都沒有測出這種問題~ 因為同事們的IE都用Ie10了!

希望對大家有所幫助!

Hi, 

亂馬客Blog已移到了 「亂馬客​ : Re:從零開始的軟體開發生活

請大家繼續支持 ^_^