简体中文转换繁体中文(实现代码)

 更新时间:2013年12月25日 08:43:58   投稿:jingxian  
本篇文章主要是对简体中文转换繁体中文的实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

复制代码 代码如下:

var Default_isFT = 0        //默认是否繁体,0-简体,1-繁体  
var StranIt_Delay = 50 //翻译延时毫秒(设这个的目的是让网页先流畅的显现出来)  
 
//-------代码开始,以下别改-------  
//转换文本  
function StranText(txt,toFT,chgTxt) 

    if(txt==""||txt==null)return "" 
    toFT=toFT==null?BodyIsFt:toFT 
    if(chgTxt)txt=txt.replace((toFT?"简":"繁"),(toFT?"繁":"简")) 
    if(toFT){return Traditionalized(txt)} 
    else {return Simplized(txt)} 

//转换对象,使用递归,逐层剥到文本  
function StranBody(fobj) 

    if(typeof(fobj)=="object"){var obj=fobj.childNodes} 
    else  
    { 
        var tmptxt=gb2big5_Obj.innerHTML.toString() 
        if(tmptxt.indexOf("简")<0) 
        { 
            BodyIsFt=1 
            gb2big5_Obj.innerHTML=StranText(tmptxt,0,1) 
            gb2big5.title=StranText(gb2big5.title,0,1) 
        } 
        else 
        { 
            BodyIsFt=0 
            gb2big5_Obj.innerHTML=StranText(tmptxt,1,1) 
            gb2big5.title=StranText(gb2big5.title,1,1) 
        } 
        setCookie(JF_cn,BodyIsFt,7) 
        var obj=document.body.childNodes 
    } 
    for(var i=0;i<obj.length;i++) 
    { 
        var OO=obj.item(i) 
        if("||BR|HR|TEXTAREA|".indexOf("|"+OO.tagName+"|")>0||OO==gb2big5_Obj)continue; 
        if(OO.title!=""&&OO.title!=null)OO.title=StranText(OO.title); 
        if(OO.alt!=""&&OO.alt!=null)OO.alt=StranText(OO.alt); 
        if(OO.tagName=="INPUT"&&OO.value!=""&&OO.type!="text"&&OO.type!="hidden")OO.value=StranText(OO.value); 
        if(OO.nodeType==3){OO.data=StranText(OO.data)} 
        else StranBody(OO) 
    } 

function JTPYStr() 

}  
function Traditionalized(cc){ 
    var str='',ss=JTPYStr(),tt=FTPYStr(); 
    for(var i=0;i<cc.length;i++) 
    { 
        if(cc.charCodeAt(i)>10000&&ss.indexOf(cc.charAt(i))!=-1)str+=tt.charAt(ss.indexOf(cc.charAt(i))); 
        else str+=cc.charAt(i); 
    } 
    return str; 

function Simplized(cc){ 
    var str='',ss=JTPYStr(),tt=FTPYStr(); 
    for(var i=0;i<cc.length;i++) 
    { 
        if(cc.charCodeAt(i)>10000&&tt.indexOf(cc.charAt(i))!=-1)str+=ss.charAt(tt.indexOf(cc.charAt(i))); 
        else str+=cc.charAt(i); 
    } 
    return str; 

 
function setCookie(name, value)     //cookies设置  

    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)            //cookies读取  

    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 "" 
      } 

 
var gb2big5_Obj=document.getElementById("gb2big5") 
if (gb2big5_Obj) 

    var JF_cn="ft"+self.location.hostname.toString().replace(//./g,"")  
    var BodyIsFt=getCookie(JF_cn) 
    if(BodyIsFt!="1")BodyIsFt=Default_isFT 
    with(gb2big5_Obj) 
    { 
        if(typeof(document.all)!="object")  //非IE浏览器  
        { 
            href="javascript:StranBody()" 
        } 
        else 
        { 
            href="#"; 
            onclick= new Function("StranBody();return false") 
        } 
        title=StranText("点击以繁体中文方式浏览",1,1) 
        innerHTML=StranText(innerHTML,1,1) 
    } 
    if(BodyIsFt=="1"){setTimeout("StranBody()",StranIt_Delay)} 
}

<A name="gb2big5" id="gb2big5" style="color:#FF0000">繁體中文</A>
<Script Language=Javascript Src="gb2big5.Js"></Script>

相关文章

最新评论