2007年12月17日

Javascript && HTML



今天遇到一個情形,所寫的某隻 Javascript 在某些版本的 IE 會沒有辦法正常執行。


結果發現在 javascript 內有用中文做為訊息呈現,比如
 
var message;
this.messages = "中文"


比如這隻 Javascript 為 xxx.js,只有下述加到 head tag 的方式,在 Firefox 下測試都沒問題,但在 IE 下就會有問題了
 
<head>
<script src="js/xxx.js" type="text/javascript"></script>
</head>


重點在於 charset 的指定,若沒像下面指定的話,有些 IE 就會處理上有問題。
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="js/xxx.js" type="text/javascript"></script>
</head>


這和 IE/Firefox 對於有些沒指定語系的網頁會產生亂碼的原因是一樣的,但相較之下 Firefox 在於 charset detect 好像做得比較好。


PS. 當然,以這個例子,若 Web Server 方面,比如 php.ini 內設定 default charset 為 utf8 的話,也不會有問題。




Orignal From: Javascript && HTML