1.JAVASCRIPT引用時,使用的字元語言不一致.
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.
xxx.js檔案內部使用的是GB2312的格式,外面調用使用的是UTF-8,所以檔案內部部分特殊字元因為格式不一致,出現亂碼,造成此原因.
改為charset="GBK"就可以了
2.JAVASCRIPT輸出HTML字元時,前後標記不匹配.
這種比較常見,往往在輸出字串時,出現單引號(')或雙引號(”)不配對,或者是在document.write()的時候,沒有正確輸出單引號(')或雙引號(”)
3.參數內出現HTML標記語言或包含分行符號
我今天所遇到的是這種情況.因為我所得到的資料以參數形式傳給一函數,結果該資料裡包含分行符號,造成了此錯誤.
如:一般測試時只使用單行的資料,是正常的,未出現這個錯誤,.
當測試時使用多行資料,並使用斷行符號鏈換行,就出行了此錯誤.因為裡麵包含了分行符號
對於第3種情況,我的解決方案是:不直接將該資料以參數形式傳遞,而是先將其賦值在一個隱藏的文本內,需要調用的函數裡只需讀取該文本裡的內容即可.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- 編碼 -->
<span style="display:none">目前時間:</span>
<div id="time"> </div>
<script>
document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());
setInterval("document.getElementById('time').innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
</script>