2019独角兽企业重金招聘Python工程师标准>>>


/****@TITLE   <javasrctipt中文简体转换为繁体AND中文转换英文插件>*@TIME   2014/4/27   22:10*@AUTHOR  任孟洋(RMY)  RenMengYangIT@163.com*@封装模式为自调用匿名函数(function(){})(); 这样的好处是开发不污染顶层变量,防止在项目中多人开发时函数重命名*解释:  var  i = function(){ alert(xx);} ;  i() ;与  (function(){ alert(xxx);})();是相同的    * 转换英文:我准备用goole的APi做*Cookie的增查*中文字符库(从百度而来字体由于,我用的常用的字库,那么翻译率为80%以上);*使用实例:*  <html>*<script type="text/javascript">*   window.onload = function () {*       $.init('xxx');*  }*</script>* <a id="xxx" >繁體中文</a>*  <html>*配置项:Simplified_lib 中文简体包*配置项:Traditional_lib繁体简体包*顺便说一下,代码在oschina的发布,代码有点乱,本来很工整的嘛**/
(function(){
  // 默认配置文件var Config =  { ExpiresDay :  1 ,          //Cookie的默认过期的时间DefaultCoding : 0,  //默认是否繁体,0:简体,1:繁体,2: 中文转英文(这里不能修改)TranslateDelay : 40,    //翻译延时毫秒(定时器多少时间内进行翻译)SelectDemo : '||BR|HR|TEXTAREA|INPUT|' ,  Simplified_lib : ' '   //简体语言包Traditional_lib:' '  //繁体语言包};
 // 封装一个常用的dom操作--dom操作- var RMY = function(id) {return document.getElementById(id);};
    RMY.AllBodyNodes = function () { return  document.body.childNodes;}
    //封装一个检查当前是繁体||简体的操作RMY.init = function(id){Dom_Obj =  RMY(id) ;if ( Dom_Obj ) {//self.location.hostname   self表示wiondws .location表示url . hostname:主机名字 并域名中的.替换成空Host_Cn = "RMY"+self.location.hostname.toString().replace(/\./g,"");   HostBodyCoding = RMY.GetCookie(Host_Cn); //定义全局变量if ( HostBodyCoding != "1")  HostBodyCoding= Config.DefaultCoding;/* 可扩展处switch (HostBodyCoding) {case  '0' : case  '1' :case  '2':}*/with(Dom_Obj){   //取得A标签元素
      if (window.ActiveXObject){  //IE浏览器href="#";  //向A中添加属性nclick= new Function("$.ConvertBody();return false");   //添加一个事件}else{//w3c标准href="javascript:$.ConvertBody()";  //添加属性} title = RMY.CheckFont("繁体中文浏览",1,1);  //添加属性innerHTML = RMY.CheckFont(innerHTML,1,1);   //填充内容
     }HostBodyCoding == "1" ? setTimeout("$.ConvertBody()",Config.TranslateDelay) : '';//在隔多少时间进行自动翻译};
  };
  //执行翻译递归解析出元素值与文本,再进行转换
  RMY.ConvertBody = function (Dom_Html) {
    if (typeof(Dom_Html) === "object" ) {  var   Dom_BodyNodes = Dom_Html.childNodes ; //获得页面中所有的HTMldome元素 这一步是为了递归考虑
    } else {//如果未定义对象var  txt = Dom_Obj.innerHTML.toString();     if (txt.indexOf("简")<0) {HostBodyCoding = 1 ;  //变成繁体Dom_Obj.innerHTML=RMY.CheckFont(txt,0,1);  //原理的繁体变简体Dom_Obj.title =RMY.CheckFont(Dom_Obj.title ,0,1);  //原理的简体变繁体} else {HostBodyCoding = 0 ; //变简体     Dom_Obj.innerHTML=RMY.CheckFont(txt,1,1); Dom_Obj.title =RMY.CheckFont(Dom_Obj.title ,1,1); }
          RMY.SetCookie(Host_Cn,HostBodyCoding);//获取网页的所有的Dome元素
         var   Dom_BodyNodes = RMY.AllBodyNodes();//如果定义了对象}//取出dom元素下的系类文本 ...for(var i=0;i<Dom_BodyNodes.length;i++){                        var Chlid=Dom_BodyNodes.item(i);if(Config.SelectDemo.indexOf("|"+Chlid.tagName+"|") > 0 || Chlid == Dom_Obj) continue;if(Chlid.title!=""&&Chlid.title!=null)Chlid.title=RMY.CheckFont(Chlid.title.replace(/^\s+|\s+$/g,""));  //取出Titleif(Chlid.alt!=""&&Chlid.alt!=null)Chlid.alt=RMY.CheckFont(Chlid.alt.replace(/^\s+|\s+$/g,""));   //去alertif(Chlid.tagName=="INPUT"&&Chlid.value!=""&&Chlid.type!="text"&&Chlid.type!="hidden") Chlid.value=RMY.CheckFont(Chlid.value.replace(/^\s+|\s+$/g,"")) ;if(Chlid.nodeType==3){Chlid.data=RMY.CheckFont(Chlid.data.replace(/^\s+|\s+$/g,"")); }else{   RMY.ConvertBody(Chlid); //递归};}
  }
  //检查当前字体RMY.CheckFont = function(txt,toFT,chgTxt){if(txt==""||txt==null)return ""toFT=toFT==null?HostBodyCoding:toFT;
    if (chgTxt) txt = txt.replace((toFT?"简":"繁"),(toFT?"繁":"简"));if (toFT) {
      return RMY.FontChanger(txt,1); } else {
      return  RMY.FontChanger(txt,0)}};//字体转换//Tap  0 简体 1:繁体  2:英文RMY.FontChanger= function(txt,Tap=1){var Str='',Str_Simplified =Config.Simplified_lib,Str_Traditional=Config.Traditional_lib;var StrLen =txt.length;   //长度switch (Tap) {case   0 :  //繁体转简体for (var i =0; i<StrLen; i++) {var StrIndex = Str_Traditional.indexOf(txt.charAt(i)); //在简体字库中搜索文本下标if(txt.charCodeAt(i)>10000&&StrIndex !=-1) { //排除没搜索到的并且Undecde编号要大于10000Str +=Str_Simplified.charAt(StrIndex);  //到繁体字库中去查找索引下标为Strndex 文 字     }  else {Str +=txt.charAt(i); //文字中有简体}}break;case   1 :  //简体转繁体for (var i =0; i<StrLen; i++) {var StrIndex = Str_Simplified.indexOf(txt.charAt(i)); //在简体字库中搜索文本下标if(txt.charCodeAt(i)>10000&&StrIndex !=-1) { //排除没搜索到的并且Undecde编号要大于10000 Str+=Str_Traditional.charAt(StrIndex);  //到繁体字库中去查找索引下标为Strndex 文字     }  else {         Str+=txt.charAt(i); //文字中有简体}}break;case  2 :  break;}
   Str_Simplified = null ;  Str_Traditional = null; StrIndex= null; //变量销毁
   return   Str ;}
   //封装一个设置Cookie//arguments获取当前函数的参数的列表, //如果当前参数大于了2个说明设置了多个参数那么第三个参数就是设置的过期时间//直接把第三个参数的值赋值ExpiresTime,如果没设置那么直接为空,//如果写的比较严谨的话这里还要对第三个参数的进行验证,必须数字类型,目前就先不写了,其实也不太影响RMY.SetCookie = function(Name,Value) {var ExpiresDay = (arguments.length> 2) ? arguments[2] :  Config.ExpiresDay; var LargeExpDate = new Date ();LargeExpDate.setTime(LargeExpDate.getTime() + (ExpiresDay*1000*3600*24));document.cookie = Name + "="+ escape (Value) + ";expires=" + LargeExpDate.toGMTString();  //写入Cookie}
  //封装一个获取CookieRMY.GetCookie = function(Name) {var Search = Name + "=";if(document.cookie.length > 0) {Offset = document.cookie.indexOf(Search) ;  //查找字符的开始位置    if (Offset != -1)  //没有当前的Cookie{Offset += Search.length;End = document.cookie.indexOf(";", Offset);if (End == -1) End = document.cookie.length;return unescape(document.cookie.substring(Offset, End));}else{return '';}
     }}
 window.$ = RMY;
})();

转载于:https://my.oschina.net/u/1246814/blog/263068

js实现简体繁体转换插件(全业态)并真实应用于项目相关推荐

  1. [JS脚本][实用小软件]一个简单的汉字简体繁体转换工具源代码

    演示请到: 汉字简体繁体转换工具 ------------------------------------------ 代码如下: -------------------------- 汉字简体繁体转 ...

  2. js简体繁体转换代码

    js简体繁体转换代码 javascript简体繁体转换代码 转载地址:http://www.cnblogs.com/genson/archive/2008/04/16/1004632.html js简 ...

  3. 利用客户端js实现汉字简体繁体转换

    <HEAD> <TITLE> New Document </TITLE> </HEAD> <BODY> <html> <h ...

  4. 汉字简体繁体转换----Javascript

    最近看到有个简体--繁体字互相转换的程序,是用JS实现的,感觉很好玩,所以拿来研究研究.先看看界面如下: 汉字简体繁体转换 上面的所有代码如下: <script> function cop ...

  5. JavaScript看图器 汉字简体繁体转换 中国日历类 自动更换桌面墙纸

      抢24的扑克游戏   自动更换桌面墙纸   中国日历类   汉字简体繁体转换   JavaScript看图器   无缝MARQUEE   包含图片的option下拉菜单   微软JS脚本的加密与解 ...

  6. 免费在线汉字简体繁体转换工具

    简体字和繁体字相互转换,很实用的! 进入这里一键转换:简体繁体转换

  7. 简体繁体转换功能php,php如何实现简体繁体转换-PHP问题

    思绪: 依据中文简体.繁体对应的数据表,将其整顿成一个以简体字为键,繁体字为值的一个一维数组,相似上面这样的一个数组构造: $data=array('侧'=>'側','厂'=>'廠'); ...

  8. java 简体繁体转换

    简体繁体转换网上有开源jar包:ZHConverter 此处做个mark //繁体转简体ZHConverter zhConverter1 = ZHConverter.getInstance(ZHCon ...

  9. IDEA 简体繁体切换插件

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

最新文章

  1. Hadoop学习--Hive安装与配置
  2. C/C++编程能力提升捷径 - ACM
  3. SAP SD模块几个透明表
  4. 自然语言处理python进阶(一)
  5. 安装Nginx必要组件时解决 yum -y install pcre pcre-devel安装出错
  6. java一致性hash api_一致性哈希算法学习及JAVA代码实现分析
  7. 自适应 幻灯片代码 app_低成本0基础开发app之开发首页幻灯片接口
  8. HTML:表格、表单和rem
  9. 【得之我幸,失之我命】分享下研究生阶段, IEEE论文投稿的心态和心路历程
  10. 与64位版本的Windows不兼容,masm运行不了
  11. 计算机代表的数字,计算机中数的表示
  12. Go语言黑帽子学习1
  13. [转]对Android开发者有益的40条优化建议
  14. 阿愚呱呱作为一个非技术人员,是如何做到不到3年时间成为RPA行业的一个头部IP的?
  15. 最佳联盟营销软件解决方案:简化你的联盟管理
  16. 【中文分词】 FMM BMM (python)
  17. 北京航班延误_预测航班延误
  18. 用python计算整数各位数字之和
  19. C语言 | 复制字符串 不用strcpy
  20. EXCEL VBA常用语句

热门文章

  1. 戏说BIOS之CMOS
  2. java大集合,JAVA规范大集合(备忘)
  3. 【软件测试基础理论知识】软件质量、软件质量管理体系、软件质量特性
  4. 经典回顾:用pygame模块做一个飞机大战
  5. mysql 中alter_MySQL中alter用法大全
  6. 废品情况分析——报表接口开发
  7. 【DataProcessor】简易的通用多进程数据生成工具类(Advanced for HVD)
  8. 海尔集团 | 100道笔试题曝光(判断、问答、名词解释、综合题)附答案
  9. Java中的全角和半角
  10. Android4.0 SDK功能详解