最近在做一個(gè)項(xiàng)目,因?yàn)轫?yè)面使用了Cookie,所以要判斷用戶的瀏覽器是否支持Cookie,并提示用戶如何開啟瀏覽器的Cookie功能。同時(shí),整個(gè)項(xiàng)目要配置多語(yǔ)言支持,包括中文、越南語(yǔ)、日語(yǔ)和英語(yǔ),所以必須有語(yǔ)言配置文件。項(xiàng)目中應(yīng)用jQuery解析讀取XML語(yǔ)言配置文件來(lái)實(shí)現(xiàn)語(yǔ)言的調(diào)度。這是jQuery解析讀取XML文件功能的測(cè)試源碼,現(xiàn)拿出來(lái)分享。
完整源碼包下載地址:http://download.csdn.net/source/1732647
目錄結(jié)構(gòu):
main.css文件代碼:
index.html文件代碼:
MsgConfig_zh.xml文件代碼:
browser.js文件代碼:
最終結(jié)果展示:
多余的就不用多說(shuō)了,代碼里標(biāo)注了很詳細(xì)的注釋。
但在測(cè)試的過(guò)程中,我也遇到了一兩個(gè)問(wèn)題。首先XML文件的編碼格式必須是UTF-8,即要保證<?xml version="1.0" encoding="utf-8"?>,否則就會(huì)出現(xiàn)亂碼。因?yàn)閖Query的Ajax傳輸數(shù)據(jù)是用的UTF-8編碼的。
其二,是關(guān)于JS文件的編碼問(wèn)題。按道理,JS文件中是不應(yīng)該出現(xiàn)中文的。在測(cè)試中我加入了對(duì)中文的測(cè)試,如代碼片段$("#Message_error").text("Error loading XML document (加載XML文件出錯(cuò))"+xml); ,指在不能正確解析或找不到XML文件時(shí)的錯(cuò)誤信息提示,在測(cè)試的時(shí)候就發(fā)現(xiàn)“加載XML文件出錯(cuò)”這幾個(gè)漢字老顯示是亂碼。弄了好久才知道是JS文件本身編碼的問(wèn)題,在網(wǎng)上查了半天,也沒(méi)有人明確地說(shuō)明解決方法,即使有,也沒(méi)有解決亂碼的根本,況且大多數(shù)人都是在胡說(shuō)八道,一個(gè)帖子轉(zhuǎn)來(lái)轉(zhuǎn)去,自己都沒(méi)有測(cè)試過(guò)就拿出來(lái)害人。最后,我摸索了一個(gè)多小時(shí),終于解決了JS文件編碼問(wèn)題,隨之也解決了jQuery.html()函數(shù)和jQuery.text()函數(shù)在傳輸中文時(shí)的亂碼問(wèn)題。
關(guān)于jQuery.html()函數(shù)和jQuery.text()函數(shù)在傳輸中文時(shí)的亂碼問(wèn)題解決請(qǐng)關(guān)注我的另外一篇文章《JS文件本身編碼轉(zhuǎn)換》:
http://blog.csdn.net/xht555/archive/2009/10/11/4653833.aspx。
如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇