網(wǎng)頁加入簡體轉(zhuǎn)繁體,或者繁體轉(zhuǎn)簡體一直是剛需,特別是面相港澳臺的網(wǎng)站,以及部分喜歡繁體的站長可能都會想在網(wǎng)站中加入JS的方法點擊實現(xiàn)字體簡繁體互換的功能!
今天就來分享下:
注意:本測試只在utf-8下通過,其它沒有測試,如果你需要其它編碼可自行測試!
測試文件已我有打包,直接下載測試即可:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title> js 網(wǎng)站文字在線可以鼠標(biāo)點擊轉(zhuǎn)換 - 簡體轉(zhuǎn)繁體/繁體轉(zhuǎn)換簡體</title> <script language='javascript' src='lang.js'></script> </head> <body> <a href="javascript:zh_tran('s');" class="zh_click" id="zh_click_s">簡體</a> <a href="javascript:zh_tran('t');" class="zh_click" id="zh_click_t">繁體</a> <br><br> js 網(wǎng)站文字在線可以鼠標(biāo)點擊轉(zhuǎn)換 - 簡體轉(zhuǎn)繁體/繁體轉(zhuǎn)換簡體 增值電信業(yè)務(wù)經(jīng)營許可證(瓊)B2-20060032號 文網(wǎng)文[2009]162號 網(wǎng)絡(luò)視聽許可證2110566號 (瓊)-經(jīng)營性-2005-0002 </body> </html>
其中的lang.js
// 網(wǎng)頁簡繁體轉(zhuǎn)換 // 本js用于客戶在網(wǎng)站頁面選擇繁體中文或簡體中文顯示,默認是正常顯示,即簡繁體同時顯示 // 在用戶第一次訪問網(wǎng)頁時,會自動檢測客戶端語言進行操作并提示.此功能可關(guān)閉 // 本程序只在UTF8編碼下測試過,不保證其他編碼有效 // -------------- 以下參數(shù)大部分可以更改 -------------------- //s = simplified 簡體中文 t = traditional 繁體中文 n = normal 正常顯示 var zh_default = 'n'; //默認語言,請不要改變 var zh_choose = 'n'; //當(dāng)前選擇 var zh_expires = 7; //cookie過期天數(shù) var zh_class = 'zh_click'; //鏈接的class名,id為class + s/t/n 之一 var zh_style_active = 'font-weight:bold; color:green;'; //當(dāng)前選擇的鏈接式樣 var zh_style_inactive = 'color:blue;'; //非當(dāng)前選擇的鏈接式樣 var zh_browserLang = ''; //瀏覽器語言 var zh_autoLang_t = true; //瀏覽器語言為繁體時自動進行操作 var zh_autoLang_s = false; //瀏覽器語言為簡體時自動進行操作 var zh_autoLang_alert = true; //自動操作后是否顯示提示消息 //自動操作后的提示消息 var zh_autoLang_msg = '歡迎來到本站,本站爲(wèi)方便臺灣香港的用戶\n1.采用UTF-8國際編碼,用任何語言發(fā)帖都不用轉(zhuǎn)碼.\n2.自動判斷繁體用戶,顯示繁體網(wǎng)頁\n3.在網(wǎng)頁最上方有語言選擇,如果瀏覽有問題時可以切換\n4.本消息在cookie有效期內(nèi)只顯示一次'; var zh_autoLang_checked = 0; //次檢測瀏覽器次數(shù),第一次寫cookie為1,提示后為2,今后將不再提示 //判斷瀏覽器語言的正則,ie為小寫,ff為大寫 var zh_langReg_t = /^zh-tw|zh-hk$/i; var zh_langReg_s = /^zh-cn$/i; //簡體繁體對照字表,可以自行替換 var zh_s = '皚藹礙愛翱襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃閉邊編貶變辯辮鱉癟瀕濱賓擯餅撥缽鉑駁卜補參蠶殘慚慘燦蒼艙倉滄廁側(cè)冊測層詫攙摻蟬饞讒纏鏟產(chǎn)闡顫場嘗長償腸廠暢鈔車徹塵陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢丑櫥廚鋤雛礎(chǔ)儲觸處傳瘡闖創(chuàng)錘純綽辭詞賜聰蔥囪從叢湊竄錯達帶貸擔(dān)單鄲撣膽憚?wù)Q彈當(dāng)擋黨蕩檔搗島禱導(dǎo)盜燈鄧敵滌遞締點墊電淀釣調(diào)迭諜疊釘頂錠訂東動棟凍斗犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪鵝額訛惡餓兒爾餌貳發(fā)罰閥琺礬釩煩范販飯訪紡飛廢費紛墳奮憤糞豐楓鋒風(fēng)瘋馮縫諷鳳膚輻撫輔賦復(fù)負訃婦縛該鈣蓋干趕稈贛岡剛鋼綱崗皋鎬擱鴿閣鉻個給龔宮鞏貢鉤溝構(gòu)購夠蠱顧剮關(guān)觀館慣貫廣規(guī)硅歸龜閨軌詭柜貴劊輥滾鍋國過駭韓漢閡鶴賀橫轟鴻紅后壺護滬戶嘩華畫劃話懷壞歡環(huán)還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴匯諱誨繪葷渾伙獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監(jiān)堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較秸階節(jié)莖驚經(jīng)頸靜鏡徑痙競凈糾廄舊駒舉據(jù)鋸懼劇鵑絹杰潔結(jié)誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲夸塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離里鯉禮麗厲勵礫歷瀝隸倆聯(lián)蓮連鐮?wèi)z漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴凌靈嶺領(lǐng)餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡(luò)媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿(mào)么霉沒鎂門悶們錳夢謎彌覓綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒膩攆捻釀鳥聶嚙鑷鎳檸獰寧擰濘鈕紐膿濃農(nóng)瘧諾歐鷗毆嘔漚盤龐國愛賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜臍齊騎豈啟氣棄訖牽扦釬鉛遷簽謙錢鉗潛淺譴塹槍嗆墻薔強搶鍬橋喬僑翹竅竊欽親輕氫傾頃請慶瓊窮趨區(qū)軀驅(qū)齲顴權(quán)勸卻鵲讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽傘喪騷掃澀殺紗篩曬閃陜贍繕傷賞燒紹賒攝懾設(shè)紳審嬸腎滲聲繩勝圣師獅濕詩尸時蝕實識駛勢釋飾視試壽獸樞輸書贖屬術(shù)樹豎數(shù)帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖綏歲孫損筍縮瑣鎖獺撻抬攤貪癱灘壇譚談嘆湯燙濤絳騰謄銻題體屜條貼鐵廳聽烴銅統(tǒng)頭圖涂團頹蛻脫鴕馱駝橢洼襪彎灣頑萬網(wǎng)韋違圍為濰維葦偉偽緯謂衛(wèi)溫聞紋穩(wěn)問甕撾蝸渦窩嗚鎢烏誣無蕪吳塢霧務(wù)誤錫犧襲習(xí)銑戲細蝦轄峽俠狹廈锨鮮纖咸賢銜閑顯險現(xiàn)獻縣餡羨憲線廂鑲鄉(xiāng)詳響項蕭銷曉嘯蝎協(xié)挾攜脅諧寫瀉謝鋅釁興洶銹繡虛噓須許緒續(xù)軒懸選癬絢學(xué)勛詢尋馴訓(xùn)訊遜壓鴉鴨啞亞訝閹煙鹽嚴顏閻艷厭硯彥諺驗鴦楊揚瘍陽癢養(yǎng)樣瑤搖堯遙窯謠藥爺頁業(yè)葉醫(yī)銥頤遺儀彝蟻藝億憶義詣議誼譯異繹蔭陰銀飲櫻嬰鷹應(yīng)纓瑩螢營熒蠅穎喲擁傭癰踴詠涌優(yōu)憂郵鈾猶游誘輿魚漁娛與嶼語吁御獄譽預(yù)馭鴛淵轅園員圓緣遠愿約躍鑰岳粵悅閱云鄖勻隕運蘊醞暈韻雜災(zāi)載攢暫贊贓臟鑿棗灶責(zé)擇則澤賊贈扎札軋鍘閘詐齋債氈盞斬輾嶄棧戰(zhàn)綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮(zhèn)陣掙睜猙幀鄭證織職執(zhí)紙摯擲幟質(zhì)鐘終種腫眾謅軸皺晝驟豬諸誅燭矚囑貯鑄筑駐專磚轉(zhuǎn)賺樁莊裝妝壯狀錐贅墜綴諄濁茲資漬蹤綜總縱鄒詛組鉆致鐘么為只兇準啟板里靂余鏈泄'; var zh_t = '皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃閉邊編貶變辯辮鼈癟瀕濱賓擯餅撥缽鉑駁蔔補參蠶殘慚慘燦蒼艙倉滄廁側(cè)冊測層詫攙摻蟬饞讒纏鏟産闡顫場嘗長償腸廠暢鈔車徹塵陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢醜櫥廚鋤雛礎(chǔ)儲觸處傳瘡闖創(chuàng)錘純綽辭詞賜聰蔥囪從叢湊竄錯達帶貸擔(dān)單鄲撣膽憚?wù)Q彈當(dāng)擋黨蕩檔搗島禱導(dǎo)盜燈鄧敵滌遞締點墊電澱釣調(diào)疊諜疊釘頂錠訂東動棟凍鬥犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪鵝額訛惡餓兒爾餌貳發(fā)罰閥琺礬釩煩範(fàn)販飯訪紡飛廢費紛墳奮憤糞豐楓鋒風(fēng)瘋馮縫諷鳳膚輻撫輔賦複負訃婦縛該鈣蓋幹趕稈贛岡剛鋼綱崗臯鎬擱鴿閣鉻個給龔宮鞏貢鈎溝構(gòu)購夠蠱顧剮關(guān)觀館慣貫廣規(guī)矽歸龜閨軌詭櫃貴劊輥滾鍋國過駭韓漢閡鶴賀橫轟鴻紅後壺護滬戶嘩華畫劃話懷壞歡環(huán)還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴彙諱誨繪葷渾夥獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監(jiān)堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較稭階節(jié)莖驚經(jīng)頸靜鏡徑痙競淨(jìng)糾廄舊駒舉據(jù)鋸懼劇鵑絹傑潔結(jié)誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲誇塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離裏鯉禮麗厲勵礫曆瀝隸倆聯(lián)蓮連鐮?wèi)z漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴淩靈嶺領(lǐng)餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡(luò)媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿(mào)麼黴沒鎂門悶們錳夢謎彌覓綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒膩攆撚釀鳥聶齧鑷鎳檸獰甯擰濘鈕紐膿濃農(nóng)瘧諾歐鷗毆嘔漚盤龐國愛賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜臍齊騎豈啓氣棄訖牽扡釺鉛遷簽謙錢鉗潛淺譴塹槍嗆牆薔強搶鍬橋喬僑翹竅竊欽親輕氫傾頃請慶瓊窮趨區(qū)軀驅(qū)齲顴權(quán)勸卻鵲讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽傘喪騷掃澀殺紗篩曬閃陝贍繕傷賞燒紹賒攝懾設(shè)紳審嬸腎滲聲繩勝聖師獅濕詩屍時蝕實識駛勢釋飾視試壽獸樞輸書贖屬術(shù)樹豎數(shù)帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖綏歲孫損筍縮瑣鎖獺撻擡攤貪癱灘壇譚談歎湯燙濤縧騰謄銻題體屜條貼鐵廳聽烴銅統(tǒng)頭圖塗團頹蛻脫鴕馱駝橢窪襪彎灣頑萬網(wǎng)韋違圍爲(wèi)濰維葦偉僞緯謂衛(wèi)溫聞紋穩(wěn)問甕撾蝸渦窩嗚鎢烏誣無蕪吳塢霧務(wù)誤錫犧襲習(xí)銑戲細蝦轄峽俠狹廈鍁鮮纖鹹賢銜閑顯險現(xiàn)獻縣餡羨憲線廂鑲鄉(xiāng)詳響項蕭銷曉嘯蠍協(xié)挾攜脅諧寫瀉謝鋅釁興洶鏽繡虛噓須許緒續(xù)軒懸選癬絢學(xué)勳詢尋馴訓(xùn)訊遜壓鴉鴨啞亞訝閹煙鹽嚴顔閻豔厭硯彥諺驗鴦楊揚瘍陽癢養(yǎng)樣瑤搖堯遙窯謠藥爺頁業(yè)葉醫(yī)銥頤遺儀彜蟻藝億憶義詣議誼譯異繹蔭陰銀飲櫻嬰鷹應(yīng)纓瑩螢營熒蠅穎喲擁傭癰踴詠湧優(yōu)憂郵鈾猶遊誘輿魚漁娛與嶼語籲禦獄譽預(yù)馭鴛淵轅園員圓緣遠願約躍鑰嶽粵悅閱雲(yún)鄖勻隕運蘊醞暈韻雜災(zāi)載攢暫贊贓髒鑿棗竈責(zé)擇則澤賊贈紮劄軋鍘閘詐齋債氈盞斬輾嶄棧戰(zhàn)綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮(zhèn)陣掙睜猙幀鄭證織職執(zhí)紙摯擲幟質(zhì)鍾終種腫衆(zhòng)謅軸皺晝驟豬諸誅燭矚囑貯鑄築駐專磚轉(zhuǎn)賺樁莊裝妝壯狀錐贅墜綴諄濁茲資漬蹤綜總縱鄒詛組鑽緻鐘麼為隻兇準啟闆裡靂餘鍊洩'; String.prototype.tran = function() { var s1,s2; if (zh_choose == 't') { s1 = zh_s; s2 = zh_t; }else if(zh_choose == 's') { s1 = zh_t; s2 = zh_s; }else { return this; } var a = ''; var l = this.length; for(var i=0;i<this.length;i++){ var c = this.charAt(i); var p = s1.indexOf(c) a += p < 0 ? c : s2.charAt(p); } return a; } function setCookie(name, value) { var argv = setCookie.arguments; var argc = setCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null; if (expires != null) { var LargeExpDate = new Date (); LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24)); } document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString())); } function getCookie(Name) { var search = Name + "=" if (document.cookie.length > 0) { offset = document.cookie.indexOf(search); if(offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if(end == -1) end = document.cookie.length; return unescape(document.cookie.substring(offset, end)); }else { return ''; } } } function zh_tranBody(obj) { var o = (typeof(obj) == "object") ? obj.childNodes : document.body.childNodes; for (var i = 0; i < o.length; i++) { var c = o.item(i); if ('||BR|HR|TEXTAREA|SCRIPT|'.indexOf("|"+c.tagName+"|") > 0) continue; if (c.className == zh_class) { if (c.id == zh_class + '_' + zh_choose) { c.setAttribute('style', zh_style_active); c.style.cssText = zh_style_active; }else { c.setAttribute('style', zh_style_inactive); c.style.cssText = zh_style_inactive; } continue; } if (c.title != '' && c.title != null) c.title = c.title.tran(); if (c.alt != '' && c.alt != null) c.alt = c.alt.tran(); if (c.tagName == "INPUT" && c.value != '' && c.type != 'text' && c.type != 'hidden' && c.type != 'password') c.value = c.value.tran(); if (c.nodeType == 3) { c.data = c.data.tran(); }else{ zh_tranBody(c); } } } function zh_tran(go) { if (go) zh_choose = go; setCookie('zh_choose', zh_choose, zh_expires); if (go == 'n') { window.location.reload(); }else { zh_tranBody(); } } function zh_getLang() { if (getCookie('zh_choose')) { zh_choose = getCookie('zh_choose'); return true; } if (!zh_autoLang_t && !zh_autoLang_s) return false; if (getCookie('zh_autoLang_checked')) return false; if (navigator.language) { zh_browserLang = navigator.language; }else if (navigator.browserLanguage) { zh_browserLang = navigator.browserLanguage; } if (zh_autoLang_t && zh_langReg_t.test(zh_browserLang)) { zh_choose = 't'; }else if (zh_autoLang_s && zh_langReg_s.test(zh_browserLang)) { zh_choose = 's'; } zh_autoLang_checked = 1; setCookie('zh_choose', zh_choose, zh_expires); if (zh_choose == zh_default) return false; return true; } function zh_init() { zh_getLang(); c = document.getElementById(zh_class + '_' + zh_choose); if (zh_choose != zh_default) { if (window.onload) { window.onload_before_zh_init = window.onload; window.onload = function() { zh_tran(zh_choose); if (getCookie('zh_autoLang_check')) {alert(zh_autoLang_msg);}; window.onload_before_zh_init(); }; }else { window.onload = function() { zh_tran(zh_choose); if (getCookie('zh_autoLang_check')) {alert(zh_autoLang_msg);}; }; } } } zh_init();
如果以上復(fù)制出問題,建議直接下載我打包好的測試文件,內(nèi)有l(wèi)ang.js!