`
lqixv
  • 浏览: 218660 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用javascript实现的网页简繁互换

阅读更多

今天接到一个需求,需要做一个有简、繁两种字体的网站,一查之下,竟然发现有直接用javascript实现的简繁转换程序,惊喜之下,不记录下来不足以表达心中的快乐。另对写此程序者致以崇高的敬意!

 

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

 例子(把上面的代码存为“st.js”):

<html>
<head>
</head>

<body topmargin="0" leftmargin="0">

<table width="55%" border="0" align="right">
<tr>
<td height="18"><a href="#">本站首页-汉字简体转繁体/繁体转简体</a></td>

<td height="18"><a href="#" id="StranLink" style="color:red">繁体版</a></td>
</tr></table>

<Script type=text/javascript src="st.js"></Script>

</body>
</html>

 测试在ie6、firefox3.x上通过。

分享到:
评论

相关推荐

    汉字简繁互换工具绿色版3款合集

    这款工具可能采用了先进的自然语言处理技术,能够自动识别文本中的词汇和语句结构,实现精准的简繁转换。它可能包含词汇库和语法规则库,对单字、成语、短语进行智能分析,以确保转换后的文本保持原有的语义完整性...

    简繁互换

    标题中的“简繁互换”指的是在中文文本处理中,将简体中文转换为繁体中文,或反之的过程。这通常涉及到字符集的转换,因为简体中文主要使用GB2312、GBK或UTF-8编码,而繁体中文则可能使用BIG5编码。在计算机软件中,...

    javascript代码实现简繁切换

    本文将深入探讨如何使用JavaScript实现简繁体转换,并基于提供的`demo.html`和`bgk2big.js`文件进行分析。 首先,简繁切换的基本原理是通过特定的算法或库来转换文本中的汉字字符。`bgk2big.js`可能是一个用于实现...

    简繁互换小工具---很小很实用

    在使用过程中,"简繁互换小工具"的用户界面简洁明了,即便是初次使用者也能迅速上手。工具栏上的直观按钮使得操作流程一目了然,用户只需要选择相应的转换模式,然后将待转换的文本输入或复制进去,点击转换按钮即可...

    asp.net实现简繁互换

    ### ASP.NET 实现简繁汉字互换的知识点 在 ASP.NET 开发中,实现简体与繁体汉字的相互转换是一项常见的需求,特别是在面向多语言用户的网站开发中尤为重要。通过以下知识点,我们可以深入理解如何利用 .NET ...

    整站文件简繁互换 c#源码

    在实际应用中,"整站文件简繁互换"可能涉及到网站的动态内容处理,这可能需要在服务器端对请求的页面内容进行实时转换,或者在客户端通过JavaScript进行本地转换。如果是在服务器端,可以将转换功能封装成一个服务...

    世纪飞翔Delphi工程简繁互换工具

    世纪飞翔Delphi工程简繁互换工具功能:1、可自定义转换的档案类型,如:.DFM,.PAS,.DPR,等等2、在转换DFM档时,可同时转换窗口的 字体和字符集(例如:将Font.name = &#39;宋体&#39; 转成 Font.name = #26032#32048#...

    用javascript实现的汉字简繁转换

    在实现汉字简繁转换时,我们可以使用JavaScript中的.replace()方法来实现字符替换。例如,我们可以使用以下代码将简体中文字符转换为繁体中文字符: str = str.replace(/简体字符/g, "繁体字符"); 在这里,str为要...

    简繁字体转换工具软件

    《简繁字体转换工具软件——ConvertZ深度解析》 在数字化的世界里,文字是我们交流的主要载体,而中文作为世界上最古老且使用人数最多的语言之一,其简体与繁体的转换问题常常成为信息传递中的一个小障碍。针对这一...

    asp.net实现简繁互转

    JavaScript实现简繁互转,自己在项目中用过的,非常不错,推荐大家使用。

    两种(GB2312与UTF-8)网页简繁转化JS代码.zip

    本压缩包包含的资源是针对这两种编码之间的简体中文和繁体中文转换的JavaScript代码,可以帮助网页开发者轻松实现网页内容的简繁转换。 GB2312(国标2312-80)是中国大陆早期制定的一种汉字编码标准,它包含了6763...

    简繁转换单元,实现简繁繁简的转换

    标题提到的"简繁转换单元"是指一个专门用于实现简体中文与繁体中文之间转换的功能模块。这个单元能够帮助用户在不同的语言环境下顺畅地进行文本交流,尤其对于需要跨地区沟通或者处理历史文献的人来说非常实用。 ...

    几行代码轻松搞定网页的简繁转换

    对网页进行简繁字体转换的方法一般有两种:一是使用《简繁通》这样的专业软件,另外一种是制作两套版本的网页。显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间。在这里给大家提供一个非常简单的...

    Excel简繁转换插件,可以让Excel像Word一样快捷的转换简繁字体

    这款Excel简繁转换插件的使用方法通常很简单。用户下载并安装tcscconv0423.exe文件后,它会集成到Excel的菜单栏或工具栏上,提供一个直观的界面供用户操作。用户可以选择需要转换的单元格或整个工作表,然后点击相应...

    JS 简繁转换

    在标题"JS简繁转换"中,我们关注的是使用JavaScript实现简体中文到繁体中文或反之的转换功能。 描述提到"支持多种浏览器(IE、火狐、谷歌、Safari等)",这意味着这个JS解决方案考虑到了跨浏览器的兼容性问题。在...

    java 简体与繁体互换 ZHConverter.jar

    此jar包修复了汉字“叶”在转换过程的错误。简繁互换 此jar包修复了汉字“叶”在转换过程的错误。简繁互换 此jar包修复了汉字“叶”在转换过程的错误。简繁互换

    简繁码表转换大全

    4. 编程语言库:开发者可以利用编程语言(如Python、Java、JavaScript等)中的库或API来实现简繁转换,这些库通常依赖于详细的简繁码表。 5. 兼容性考虑:在处理不同编码格式的文本时,转换大全还需要考虑到GBK、UTF...

    原生JS实现中文简繁切换 无flash死循环bug版

    本教程将探讨如何使用原生JavaScript实现这一功能,避免依赖Flash并解决可能导致浏览器死循环的bug。 首先,我们需要理解简繁体转换的基本原理。中文简繁体转换主要依赖于字典库,它包含了大量简体字与繁体字之间的...

    JavaScript 简单实现网页的中文简体繁体的转换

    对网页进行简繁字体转换的方法一般有两种:一是使用《简繁通》这样的专业软件,另外一种是制作两套版本的网页。显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间。现在给大家提供一个非常简单的方法...

Global site tag (gtag.js) - Google Analytics