位置: 编程技术 - 正文

基于JavaScript实现快速转换文本语言(繁体中文和简体中文)(基于javascript的毕业设计)

编辑:rootadmin

推荐整理分享基于JavaScript实现快速转换文本语言(繁体中文和简体中文)(基于javascript的毕业设计),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:js基于什么,基于JAVASCRIPT实现的可视化工具是,基于JAVASCRIPT实现的可视化工具是,javascript运用,基于JAVASCRIPT实现的可视化工具是,基于javascript的毕业设计选题,基于javascript的毕业设计,基于JAVASCRIPT实现的可视化工具是,内容如对您有帮助,希望把文章链接给更多的朋友!

一般商业网站都有一个语言的需求,就是为了照顾使用正体中文的国人,会特地提供一个切换到正体中文的选项(或曰“繁体中文”)。传统做法是在服务端完成的,即通过某些控件或者过滤器转换文本语言。这里笔者介绍一种简单可行的方法,不是在服务端而是利用前端的 JavaScript 就可以切换正体中文。如下图,我们把切换按钮放在页脚(当然你也可以放置在“导航”或者其他更醒目的位置)。

由于页面假设设定均使用 Unicode 字符集,于是一般不用考虑 GB/BIG5 字符集问题,伟大的 Unicode 字符集已经涵盖了繁体字的字符了(UTF-8 编码)。

怎么在页面调用这个功能呢?很简单,首先引入下面 Js(注意还依赖 Function.prototype.delegate(), 下面会提及):

基于JavaScript实现快速转换文本语言(繁体中文和简体中文)(基于javascript的毕业设计)

然后绑定按钮事件,我们简单地使用 onclick 绑定来全局函数 window.toChinese(el)、window.toSimpleChinese(el)。el 是按钮元素。

js 代码中比较长的两个字符串变量分别是简体中文和繁体中文,他们切换没有什么神奇之处,只是所有文本经过这些变量一一对应即可。当然这里只是常用的繁简对应,而且是机械的,有些特殊的翻译需要联系上下文的,这种高级转换不在此讨论之列。

首先我们看看变量函数 translate,执行它会通过递归遍历完整个 DOM(可以说比较笨的方法)

转换 DOM 内容,我们第一时间想到的可能是 el.innerHTML,但其实大可不必,而且递归的时候不太方便。不妨再想想看,我们其实只需要对文本转换即可,DOM API 能够判断 文本节点(node.nodeType == 3),然后可读可写的 data 属性就是设置文本的(textNode.data),由此我们就是完成到繁体的切换。节点其他属性 title、alt、value 也是同样原理。另外,if (("||BR|HR|TEXTAREA|".indexOf("|" + node.tagName + "|")) > 0)continue; 是排除某些节点的方法,其思路比较特别,可以多借鉴下。

至于 coverntFn 是一函数参数。通过根函数 translateText(text, isBig5) 新生成两个函数 :var traditionalized = translateText.delegate(null, true), simplized = translateText.delegate(null, false);

Function.prototype.delegate() 方法如下。

繁简的转换基本如此了。值得一提的是,浏览器其实替我们识别语言环境的变量,主要是 navigator.userLanguage || navigator.language。这个变量在服务端也可以获取,头读取:Request.ServerVariables("http_accept_language")。

最后我们还通过 cookie 来保存语言状态。

标签: 基于javascript的毕业设计

本文链接地址:https://www.jiuchutong.com/biancheng/378968.html 转载请保留说明!

上一篇:论JavaScript模块化编程(javascript module)

下一篇:javascript特殊日历控件分享(js特殊字符有哪些)

  • 进项税转出包括什么
  • 资本公积和盈余公积怎么提取
  • 月末进项税大于销项税怎么结转
  • 一般纳税人支付给小规模纳税人的税率
  • 软件工程质保金
  • 过桥过路费为什么这么贵
  • 出口退税逾期申报,需申报出口货物收汇情况表
  • 企业发生的技术转让费应计入
  • 处置使用过的固定资产,税率按多少
  • 企业清算时
  • 公司举办的活动
  • 复利现值是什么意思
  • 现金存款凭证
  • 固定资产安装完毕达到预定可使用状态
  • 合作开发项目收益怎么算
  • 停车场吗
  • 收到子公司分红需要交所得税吗?
  • 费用无发票财务怎么做账
  • 公司店铺刷单的收入怎么记账
  • 生产企业低值高报骗税
  • 小规模纳税人进项税额怎么算
  • 坏账准备为负数怎么填资产负债表
  • 电脑屏幕保护不能设置
  • php生成php文件
  • 收到员工违章操作罚款的会计分录
  • php面向对象面试题
  • PHP:getimagesizefromstring()的用法_GD库图像处理函数
  • 政府机关出租房屋要交税吗
  • 建筑企业异地预缴企业所得税
  • linux suid
  • 对于企业无法支付的应付账款
  • 21世纪20年代的中国
  • RuntimeError: CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling `cublas‘
  • mysqldump语句
  • 微服务框架图
  • 自产赠送视同销售的成本怎么确定
  • 哪些费用发票可以抵扣企业所得税
  • 捐赠利得计入营业外收入吗?
  • 行政事业单位个税代扣怎么记账
  • 固定资产包括无形资产吗?
  • 企业年报未报会有什么后果
  • mysql密码忘记了咋办
  • sql server 判断数据是否存在
  • 旅行社的增值税税率
  • 如何算基数
  • 产品淘汰造成的影响
  • 公司固定资产抵押贷款无法偿还
  • 留抵进项税额怎么做分录
  • 企业持有住房税费
  • 可供出售金融资产名词解释
  • 基本户转到一般户用途写什么
  • 非正常损失的进项税
  • 管家婆进货单科目名称怎么录入?
  • 基本生产成本和生产成本
  • 可供出售金融资产公允价值变动
  • 汇算清缴产生的企业所得税如何做账
  • sql server建表时怎样选择数据类型
  • sqlserver 触发器 redis
  • sqlserver 错误6005
  • 低配置装什么系统
  • 双系统怎么设置引导启动项
  • centos6.8图形界面
  • 隐藏的系统
  • 硬盘安装xp系统安装教程
  • mac真好用
  • win7系统IE浏览器打开跳转到360浏览器,怎么阻止
  • win10任务界面
  • XP系统升级WIN7系统
  • JAVAscript操作word
  • nodejs npm install全局安装和本地安装的区别
  • jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
  • js响应鼠标点击不了
  • jquery ajax双击div可直接修改div中的内容
  • jquery 3d旋转
  • python 中
  • 详解中国女足出线形势
  • python解决方案与程序有什么不同
  • 内蒙古税务局电子发票查询
  • 销售旧货如何开票
  • 浙里办扫码在哪里
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设