网页中实现 js 繁体简体切换

这个是公司一位同事实现的功能,网站的实施是我,但不知道是他原创还是借鉴的。
首先是封装的 js 代码

  1 // 网页简繁体转换
  2 // 本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示
  3 // 在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功能可关闭
  4 // 本程序只在UTF8编码下测试过,不保证其他编码有效
  5 // -------------- 以下参数大部分可以更改 --------------------
  6 //s = simplified 简体中文 t = traditional 繁体中文 n = normal 正常显示
  7 var zh_default = 'n'; //默认语言,请不要改变
  8 var zh_choose = 'n'; //当前选择
  9 var zh_expires = 7; //cookie过期天数
 10 var zh_class = 'zh_click'; //链接的class名,id为class + s/t/n 之一
 11 var zh_style_active = 'font-weight:bold; color:green;'; //当前选择的链接式样
 12 var zh_style_inactive = 'color:blue;'; //非当前选择的链接式样
 13 var zh_browserLang = ''; //浏览器语言
 14 var zh_autoLang_t = true; //浏览器语言为繁体时自动进行操作
 15 var zh_autoLang_s = false; //浏览器语言为简体时自动进行操作
 16 var zh_autoLang_alert = true; //自动操作后是否显示提示消息
 17 //自动操作后的提示消息
 18 var zh_autoLang_msg = '歡迎來到本站,本站爲方便台灣香港的用戶\n1.采用UTF-8國際編碼,用任何語言發帖都不用轉碼.\n2.自動判斷繁體用戶,顯示繁體網頁\n3.在網頁最上方有語言選擇,如果浏覽有問題時可以切換\n4.本消息在cookie有效期內只顯示一次';
 19 var zh_autoLang_checked = 0; //次检测浏览器次数,第一次写cookie为1,提示后为2,今后将不再提示
 20 //判断浏览器语言的正则,ie为小写,ff为大写
 21 var zh_langReg_t = /^zh-tw|zh-hk$/i;
 22 var zh_langReg_s = /^zh-cn$/i;
 23 //简体繁体对照字表,可以自行替换
 24 var zh_s = '皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙闭边编贬变辩辫鳖瘪濒滨宾摈饼拨钵铂驳卜补参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨锄雏础储触处传疮闯创锤纯绰辞词赐聪葱囱从丛凑窜错达带贷担单郸掸胆惮诞弹当挡党荡档捣岛祷导盗灯邓敌涤递缔点垫电淀钓调迭谍叠钉顶锭订东动栋冻斗犊独读赌镀锻断缎兑队对吨顿钝夺鹅额讹恶饿儿尔饵贰发罚阀珐矾钒烦范贩饭访纺飞废费纷坟奋愤粪丰枫锋风疯冯缝讽凤肤辐抚辅赋复负讣妇缚该钙盖干赶秆赣冈刚钢纲岗皋镐搁鸽阁铬个给龚宫巩贡钩沟构购够蛊顾剐关观馆惯贯广规硅归龟闺轨诡柜贵刽辊滚锅国过骇韩汉阂鹤贺横轰鸿红后壶护沪户哗华画划话怀坏欢环还缓换唤痪焕涣黄谎挥辉毁贿秽会烩汇讳诲绘荤浑伙获货祸击机积饥讥鸡绩缉极辑级挤几蓟剂济计记际继纪夹荚颊贾钾价驾歼监坚笺间艰缄茧检碱硷拣捡简俭减荐槛鉴践贱见键舰剑饯渐溅涧浆蒋桨奖讲酱胶浇骄娇搅铰矫侥脚饺缴绞轿较秸阶节茎惊经颈静镜径痉竞净纠厩旧驹举据锯惧剧鹃绢杰洁结诫届紧锦仅谨进晋烬尽劲荆觉决诀绝钧军骏开凯颗壳课垦恳抠库裤夸块侩宽矿旷况亏岿窥馈溃扩阔蜡腊莱来赖蓝栏拦篮阑兰澜谰揽览懒缆烂滥捞劳涝乐镭垒类泪篱离里鲤礼丽厉励砾历沥隶俩联莲连镰怜涟帘敛脸链恋炼练粮凉两辆谅疗辽镣猎临邻鳞凛赁龄铃凌灵岭领馏刘龙聋咙笼垄拢陇楼娄搂篓芦卢颅庐炉掳卤虏鲁赂禄录陆驴吕铝侣屡缕虑滤绿峦挛孪滦乱抡轮伦仑沦纶论萝罗逻锣箩骡骆络妈玛码蚂马骂吗买麦卖迈脉瞒馒蛮满谩猫锚铆贸么霉没镁门闷们锰梦谜弥觅绵缅庙灭悯闽鸣铭谬谋亩钠纳难挠脑恼闹馁腻撵捻酿鸟聂啮镊镍柠狞宁拧泞钮纽脓浓农疟诺欧鸥殴呕沤盘庞国爱赔喷鹏骗飘频贫苹凭评泼颇扑铺朴谱脐齐骑岂启气弃讫牵扦钎铅迁签谦钱钳潜浅谴堑枪呛墙蔷强抢锹桥乔侨翘窍窃钦亲轻氢倾顷请庆琼穷趋区躯驱龋颧权劝却鹊让饶扰绕热韧认纫荣绒软锐闰润洒萨鳃赛伞丧骚扫涩杀纱筛晒闪陕赡缮伤赏烧绍赊摄慑设绅审婶肾渗声绳胜圣师狮湿诗尸时蚀实识驶势释饰视试寿兽枢输书赎属术树竖数帅双谁税顺说硕烁丝饲耸怂颂讼诵擞苏诉肃虽绥岁孙损笋缩琐锁獭挞抬摊贪瘫滩坛谭谈叹汤烫涛绦腾誊锑题体屉条贴铁厅听烃铜统头图涂团颓蜕脱鸵驮驼椭洼袜弯湾顽万网韦违围为潍维苇伟伪纬谓卫温闻纹稳问瓮挝蜗涡窝呜钨乌诬无芜吴坞雾务误锡牺袭习铣戏细虾辖峡侠狭厦锨鲜纤咸贤衔闲显险现献县馅羡宪线厢镶乡详响项萧销晓啸蝎协挟携胁谐写泻谢锌衅兴汹锈绣虚嘘须许绪续轩悬选癣绚学勋询寻驯训讯逊压鸦鸭哑亚讶阉烟盐严颜阎艳厌砚彦谚验鸯杨扬疡阳痒养样瑶摇尧遥窑谣药爷页业叶医铱颐遗仪彝蚁艺亿忆义诣议谊译异绎荫阴银饮樱婴鹰应缨莹萤营荧蝇颖哟拥佣痈踊咏涌优忧邮铀犹游诱舆鱼渔娱与屿语吁御狱誉预驭鸳渊辕园员圆缘远愿约跃钥岳粤悦阅云郧匀陨运蕴酝晕韵杂灾载攒暂赞赃脏凿枣灶责择则泽贼赠扎札轧铡闸诈斋债毡盏斩辗崭栈战绽张涨帐账胀赵蛰辙锗这贞针侦诊镇阵挣睁狰帧郑证织职执纸挚掷帜质钟终种肿众诌轴皱昼骤猪诸诛烛瞩嘱贮铸筑驻专砖转赚桩庄装妆壮状锥赘坠缀谆浊兹资渍踪综总纵邹诅组钻致钟么为只凶准启板里雳余链泄';
 25 var zh_t = '皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃閉邊編貶變辯辮鼈癟瀕濱賓擯餅撥缽鉑駁蔔補參蠶殘慚慘燦蒼艙倉滄廁側冊測層詫攙摻蟬饞讒纏鏟産闡顫場嘗長償腸廠暢鈔車徹塵陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢醜櫥廚鋤雛礎儲觸處傳瘡闖創錘純綽辭詞賜聰蔥囪從叢湊竄錯達帶貸擔單鄲撣膽憚誕彈當擋黨蕩檔搗島禱導盜燈鄧敵滌遞締點墊電澱釣調叠諜疊釘頂錠訂東動棟凍鬥犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪鵝額訛惡餓兒爾餌貳發罰閥琺礬釩煩範販飯訪紡飛廢費紛墳奮憤糞豐楓鋒風瘋馮縫諷鳳膚輻撫輔賦複負訃婦縛該鈣蓋幹趕稈贛岡剛鋼綱崗臯鎬擱鴿閣鉻個給龔宮鞏貢鈎溝構購夠蠱顧剮關觀館慣貫廣規矽歸龜閨軌詭櫃貴劊輥滾鍋國過駭韓漢閡鶴賀橫轟鴻紅後壺護滬戶嘩華畫劃話懷壞歡環還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴彙諱誨繪葷渾夥獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較稭階節莖驚經頸靜鏡徑痙競淨糾廄舊駒舉據鋸懼劇鵑絹傑潔結誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲誇塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離裏鯉禮麗厲勵礫曆瀝隸倆聯蓮連鐮憐漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴淩靈嶺領餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿麽黴沒鎂門悶們錳夢謎彌覓綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒膩攆撚釀鳥聶齧鑷鎳檸獰甯擰濘鈕紐膿濃農瘧諾歐鷗毆嘔漚盤龐國愛賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜臍齊騎豈啓氣棄訖牽扡釺鉛遷簽謙錢鉗潛淺譴塹槍嗆牆薔強搶鍬橋喬僑翹竅竊欽親輕氫傾頃請慶瓊窮趨區軀驅齲顴權勸卻鵲讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽傘喪騷掃澀殺紗篩曬閃陝贍繕傷賞燒紹賒攝懾設紳審嬸腎滲聲繩勝聖師獅濕詩屍時蝕實識駛勢釋飾視試壽獸樞輸書贖屬術樹豎數帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖綏歲孫損筍縮瑣鎖獺撻擡攤貪癱灘壇譚談歎湯燙濤縧騰謄銻題體屜條貼鐵廳聽烴銅統頭圖塗團頹蛻脫鴕馱駝橢窪襪彎灣頑萬網韋違圍爲濰維葦偉僞緯謂衛溫聞紋穩問甕撾蝸渦窩嗚鎢烏誣無蕪吳塢霧務誤錫犧襲習銑戲細蝦轄峽俠狹廈鍁鮮纖鹹賢銜閑顯險現獻縣餡羨憲線廂鑲鄉詳響項蕭銷曉嘯蠍協挾攜脅諧寫瀉謝鋅釁興洶鏽繡虛噓須許緒續軒懸選癬絢學勳詢尋馴訓訊遜壓鴉鴨啞亞訝閹煙鹽嚴顔閻豔厭硯彥諺驗鴦楊揚瘍陽癢養樣瑤搖堯遙窯謠藥爺頁業葉醫銥頤遺儀彜蟻藝億憶義詣議誼譯異繹蔭陰銀飲櫻嬰鷹應纓瑩螢營熒蠅穎喲擁傭癰踴詠湧優憂郵鈾猶遊誘輿魚漁娛與嶼語籲禦獄譽預馭鴛淵轅園員圓緣遠願約躍鑰嶽粵悅閱雲鄖勻隕運蘊醞暈韻雜災載攢暫贊贓髒鑿棗竈責擇則澤賊贈紮劄軋鍘閘詐齋債氈盞斬輾嶄棧戰綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮陣掙睜猙幀鄭證織職執紙摯擲幟質鍾終種腫衆謅軸皺晝驟豬諸誅燭矚囑貯鑄築駐專磚轉賺樁莊裝妝壯狀錐贅墜綴諄濁茲資漬蹤綜總縱鄒詛組鑽緻鐘麼為隻兇準啟闆裡靂餘鍊洩';
 26 String.prototype.tran = function() {
 27 var s1,s2;
 28 if (zh_choose == 't') {
 29    s1 = zh_s;
 30    s2 = zh_t;
 31 }else if(zh_choose == 's') {
 32    s1 = zh_t;
 33    s2 = zh_s;
 34 }else {
 35    return this;
 36 }
 37 var a = '';
 38 var l = this.length;
 39 for(var i=0;i<this.length;i++){
 40         var c = this.charAt(i);
 41         var p = s1.indexOf(c)
 42         a += p < 0 ? c : s2.charAt(p);
 43     }
 44 return a;
 45 }
 46 function setCookie(name, value) {
 47 var argv = setCookie.arguments;
 48 var argc = setCookie.arguments.length;
 49 var expires = (argc > 2) ? argv[2] : null;
 50 if (expires != null) {
 51    var LargeExpDate = new Date ();
 52    LargeExpDate.setTime(LargeExpDate.getTime() + (expires*1000*3600*24));
 53 }
 54 document.cookie = name + "=" + escape (value)+((expires == null) ? "" : ("; expires=" +LargeExpDate.toGMTString()));
 55 }
 56 function getCookie(Name) {
 57 var search = Name + "="
 58 if (document.cookie.length > 0) {
 59    offset = document.cookie.indexOf(search);
 60    if(offset != -1) {
 61     offset += search.length;
 62     end = document.cookie.indexOf(";", offset);
 63     if(end == -1) end = document.cookie.length;
 64     return unescape(document.cookie.substring(offset, end));
 65    }else {
 66     return '';
 67    }
 68 }
 69 }
 70 function zh_tranBody(obj) {
 71 var o = (typeof(obj) == "object") ? obj.childNodes : document.body.childNodes;
 72 for (var i = 0; i < o.length; i++) {
 73    var c = o.item(i);
 74    if ('||BR|HR|TEXTAREA|SCRIPT|'.indexOf("|"+c.tagName+"|") > 0) continue;
 75    if (c.className == zh_class) {
 76     if (c.id == zh_class + '_' + zh_choose) {
 77      c.setAttribute('style', zh_style_active);
 78      c.style.cssText = zh_style_active;
 79     }else {
 80      c.setAttribute('style', zh_style_inactive);
 81      c.style.cssText = zh_style_inactive;
 82     }
 83     continue;
 84    }
 85    if (c.title != '' && c.title != null) c.title = c.title.tran();
 86    if (c.alt != '' && c.alt != null) c.alt = c.alt.tran();
 87    if (c.tagName == "INPUT" && c.value != '' && c.type != 'text' && c.type != 'hidden' && c.type != 'password') c.value = c.value.tran();
 88    if (c.nodeType == 3) {
 89     c.data = c.data.tran();
 90    }else{
 91     zh_tranBody(c);
 92    }
 93 }
 94 }
 95 function zh_tran(go) {
 96 if (go) zh_choose = go;
 97 setCookie('zh_choose', zh_choose, zh_expires);
 98 if (go == 'n') {
 99    window.location.reload();
100 }else {
101    zh_tranBody();
102 }
103 }
104 function zh_getLang() {
105 if (getCookie('zh_choose')) {
106    zh_choose = getCookie('zh_choose');
107    return true;
108 }
109 if (!zh_autoLang_t && !zh_autoLang_s) return false;
110 if (getCookie('zh_autoLang_checked')) return false;
111 if (navigator.language) {
112    zh_browserLang = navigator.language;
113 }else if (navigator.browserLanguage) {
114    zh_browserLang = navigator.browserLanguage;
115 }
116 if (zh_autoLang_t && zh_langReg_t.test(zh_browserLang)) {
117    zh_choose = 't';
118 }else if (zh_autoLang_s && zh_langReg_s.test(zh_browserLang)) {
119    zh_choose = 's';
120 }
121 zh_autoLang_checked = 1;
122 setCookie('zh_choose', zh_choose, zh_expires);
123 if (zh_choose == zh_default) return false;
124 return true;
125 }
126 function zh_init() {
127 zh_getLang();
128 c = document.getElementById(zh_class + '_' + zh_choose);
129 if (zh_choose != zh_default) {
130    if (window.onload) {
131     window.onload_before_zh_init = window.onload;
132     window.onload = function() {
133      zh_tran(zh_choose);
134      if (getCookie('zh_autoLang_check')) {alert(zh_autoLang_msg);};
135      window.onload_before_zh_init();
136      };
137    }else {
138     window.onload = function() {
139      zh_tran(zh_choose);
140      if (getCookie('zh_autoLang_check')) {alert(zh_autoLang_msg);};
141      };
142    }
143 }
144 }
145 zh_init();

//通过传递不同的参数就可以切换了

1 <input type="button" value="繁体" οnclick="zh_tran('t');"/>
2 <input type="button" value="简体" οnclick="zh_tran('s');"/>

转载于:https://www.cnblogs.com/zxm123/p/7130828.html

JS 实现网页的简体繁体切换相关推荐

  1. 网页上简体繁体汉字切换

    网页上简体繁体汉字切换 html文件 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv=" ...

  2. IDEA 简体繁体切换插件

    Chinese Converter idea简体繁体切换插件:选取后 Alt+Ctrl+1,Alt+Ctrl+2 快捷切换 今天发现一个好用的idea插件,简体繁体切换,对于我们工作需要用到简繁体有很 ...

  3. Win10系统简体繁体切换

    Win10系统简体繁体切换  

  4. java web网站 js 简体繁体切换_通过JS实现网站繁体简体互换

    //网页简繁体转换//本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示//在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功能可关闭//本程序只在UT ...

  5. java web网站 js 简体繁体切换_求繁简转换的js代码,可以设置打开网站时候整站默认显示繁体或简体,然后可以手动切换繁简。...

    展开全部 html> Document 简体中文 | 繁体中文 秋风缠62616964757a686964616fe59b9ee7ad9431333361313931,落花残,庭前路人几声叹.夜 ...

  6. 记录:前端js实现页面内简繁体切换

    一.效果 二.实现 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

  7. vue项目的简体繁体切换

    网站的字体切换 点击繁体,页面字体变成繁体. 实现过程: 1.创建langs.js文件 langs.js文件的内容: /* eslint-disable no-unused-vars */ var z ...

  8. win10输入法简体繁体切换

    二〇一七年六月二十四日 18:39:26更新 用原生的输入法竟然也会出现繁体字,恶心了,换了几个输入法,现在用qq输入法了,虽然会出现英文的小图标,但是我可以ctrl+空格切换中英文了,而且也不会导致 ...

  9. ubuntu12.04中极品五笔简体繁体切换

    不小心切换成了繁体,按Ctrl+:,可以切换回来. 转载于:https://www.cnblogs.com/lance-ehf/p/4280855.html

最新文章

  1. 离开时自动提示设为首页
  2. EOJ_1064_树的层号表示法
  3. Quartus II 现有各版本之差异(方便选择), 以及 破解文件
  4. 如何编写高性能的C#代码(一)
  5. matlab中函数或变量无法识别怎么办_用MATLAB巧解微分方程实例分析
  6. sample语言词法分析_Go 译文之词法分析与解析 Part Three
  7. 2014最不受欢迎10编程语言种
  8. Web服务中延时对QoE(体验质量)的影响
  9. vmware虚拟机Centos安装samba全过程
  10. for of 与 for in的区别
  11. FMEA-MSR 步骤五:风险分析(一)
  12. 服务器snb芯片组,认识6系列主板芯片组
  13. 需求与商业模式创新-需求考试复习
  14. graphpad数据小数点_Image J和Graphpad如何对Western Blot条带灰度分析【干货】 | 每日生物评论...
  15. JDBC 数据库连接池 工作原理
  16. pcb 受潮_PCB受潮影响性能有什么好的处理方法?
  17. ee可以有js吗 jvaa_JAVAEE面试题
  18. 【题解】codeforces 1023G. Pisces 最长反链 数据结构维护差分 启发式合并
  19. QT访问http服务器,并加载服务器图片
  20. 关于移动互联网运营的分享总结

热门文章

  1. 如何提高网站的页面加载速度
  2. 力扣121、122、309、714(C语言版)动态规划股票问题
  3. 翻译文章后再来看翻译文章
  4. 神经网络异常检测模型,神经网络异常检测方法
  5. Asp.net程序实现RC6_中文加解密
  6. 基于Mini无人机与改进损失函数的YOLO V3的大豆幼苗自动计数系统V1.0-使用手册
  7. ( 杰理 AC695x ) 板级文件的配置
  8. speex库音频降噪(含代码)
  9. Openkruise/rollouts 源码解读
  10. 浏览器低延时播放RTSP安防摄像头/海康大华硬盘录像机/NVR/流媒体服务器硬件开发机设备失去授权如何解决?