js实现html⽹页简繁体切换
荆轲刺秦王
我们在做⽹站的时候,有时候会遇到 简繁体切换 或者 中英⽂切换(英⽂我还遇到 qaq 吼吼吼)(等我遇到了再更吧。。。)
废话不多说,直接上代码(ps : 这个是我在⽹上的,属于那种⽐较简单,拿来即⽤的那种,不会出什么bug):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>荆轲刺秦王</title>
</head>
<body>
<input type="button" value="繁体" onclick="zh_tran('t');"/><br/>
<input type="button" value="简体" onclick="zh_tran('s');"/>
<div>
<p>于千万⼈之中,遇见你要遇见的⼈。于千万年之中,时间⽆涯的荒野⾥,没有早⼀步,也没有迟⼀步,遇上了也只能轻轻地说⼀句:“哦,你也在这⾥吗?”</p> </div>
<div><a href="#">测试链接是否⽣效</a></div>
<div>
<p>
也许每⼀个男⼦全都有过这样的两个⼥⼈,⾄少两个。娶了红玫瑰,久⽽久之,红的变了墙上的⼀抹蚊⼦⾎,⽩的还是“窗前明⽉光”;娶了⽩玫瑰,⽩的便是⾐服 </p>
</div>
<div>
<p>
我要你知道,在这个世界上总有⼀个⼈是等着你的,不管在什么时候,不管在什么地⽅,反正你知道,总有这么个⼈。
</p>
</div>
<div>
<p>
爱情本来并不复杂,来来去去不过三个字,不是“我爱你,我恨你,”“便是算了吧,你好吗?对不起。
</p>
</div>
<div>
<p>
失望,有时候也是⼀种幸福,因为有所期待所以才会失望。因为有爱,才会有期待,所以纵使失望,也是⼀种幸福,虽然这种幸福有点痛
</p>
</div>
<div>
<p>
如果我不爱你,我就不会思念你,我就不会妒忌你⾝边的异性,我也不会失去⾃信⼼和⽃志,我更不会痛苦。如果我能够不爱你,那该多好。
</p>
</div>
<div>
<p>
如果情感和岁⽉也能轻轻撕碎,扔到海中,那么,我愿意从此就在海底沉默。你的⾔语,我爱听,却不懂得,我的沉默,你愿见,却不明⽩
</p>
</div>
<div>
<p>
你问我爱你值⽐值得,其实你应该知道,爱就是不问值不值得。
</p>
</div>
<div>
<p>
我喜欢钱,因为我没吃过钱的苦,不知道钱的坏处,只知道钱的好处。
</p>
</div>
</body>
</html>
js 代码:
// ⽹页简繁体转换
// 本js⽤于客户在⽹站页⾯选择繁体中⽂或简体中⽂显⽰,默认是正常显⽰,即简繁体同时显⽰
// 在⽤户第⼀次访问⽹页时,会⾃动检测客户端语⾔进⾏操作并提⽰.此功能可关闭
// 本程序只在UTF8编码下测试过,不保证其他编码有效
// -------------- 以下参数⼤部分可以更改 --------------------
/
/s = simplified 简体中⽂ t = traditional 繁体中⽂ n = normal 正常显⽰
var zh_default = 'n'; //默认语⾔,请不要改变
var zh_choose = 'n'; //当前选择
var zh_expires = 7; //cookie过期天数
var zh_class = 'zh_click'; //链接的class名,id为class + s/t/n 之⼀
var zh_style_active = 'font-weight:bold; color:green;'; //当前选择的链接式样
var zh_style_inactive = 'color:blue;'; //⾮当前选择的链接式样
var zh_browserLang = ''; //浏览器语⾔
var zh_autoLang_t = true; //浏览器语⾔为繁体时⾃动进⾏操作
var zh_autoLang_s = false; //浏览器语⾔为简体时⾃动进⾏操作
var zh_autoLang_alert = true; //⾃动操作后是否显⽰提⽰消息
/
/⾃动操作后的提⽰消息
var zh_autoLang_msg = '歡迎來到本站,本站爲⽅便台灣⾹港的⽤⼾\n1.采⽤UTF-8國際編碼,⽤任何語⾔發帖都不⽤轉碼.\n2.⾃動判斷繁體⽤⼾,顯⽰繁體網⾴\n3.在 var zh_autoLang_checked = 0; //次检测浏览器次数,第⼀次写cookie为1,提⽰后为2,今后将不再提⽰
//判断浏览器语⾔的正则,ie为⼩写,ff为⼤写
var zh_langReg_t = /^zh-tw|zh-hk$/i;
var zh_langReg_s = /^zh-cn$/i;
//简体繁体对照字表,可以⾃⾏替换
var zh_s = '皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙闭边编贬变辩辫鳖瘪濒滨宾摈饼拨钵铂驳⼘补参蚕残惭惨灿苍舱仓沧厕侧册测 var zh_t = '皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩⾙鋇狽備憊繃筆畢斃閉邊編貶變辯辮鼈癟瀕濱賓擯餅撥缽鉑駁蔔補參蠶殘慚慘燦蒼艙倉滄廁側冊測 an = 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.Time() + (expires*1000*3600*24));
}
if (kie.length > 0) {
offset = kie.indexOf(search);
if(offset != -1) {
offset += search.length;
end = kie.indexOf(";", offset);
if(end == -1) end = kie.length;
if(end == -1) end = kie.length;
return kie.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);
js argumentsif ('||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 = an();
if (c.alt != '' && c.alt != null) c.alt = an();
if (c.tagName == "INPUT" && c.value != '' && c.type != 'text' && c.type != 'hidden' && c.type != 'password') c.value = an(); if (c.nodeType == 3) {
c.data = an();
}else{
zh_tranBody(c);
}
}
}
function zh_tran(go) {
if (go) zh_choose = go;
setCookie('zh_choose', zh_choose, zh_expires);
if (go == 'n') {
load();
}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_st(zh_browserLang)) {
zh_choose = 't';
}else if (zh_autoLang_s && zh_st(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 = ElementById(zh_class + '_' + zh_choose);
c = ElementById(zh_class + '_' + zh_choose);
if (zh_choose != zh_default) {
if (load) {
zh_tran(zh_choose);
if (getCookie('zh_autoLang_check')) {alert(zh_autoLang_msg);}; load_before_zh_init();
};
}else {
zh_tran(zh_choose);
if (getCookie('zh_autoLang_check')) {alert(zh_autoLang_msg);}; };
}
}
}
zh_init();
js 代码可以直接放到 html 页⾯,也可以引⽤过来。。。。。
楼主亲测⼗分好⽤
最最后 感谢⼤神,把代码分享出来
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论