位置: 编程技术 - 正文

基于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特殊字符有哪些)

  • 利润总额亏损还有没有所得税
  • 房地产企业税收优惠政策
  • 报关金额必须跟收汇金额一致吗?
  • 固定资产怎么确定是否减值
  • 咨询公司小规模纳税人怎么界定
  • 免抵退税额如何填报
  • 税控系统技术维护费可以抵扣吗
  • 未达起征点的增值税怎么算
  • 餐费可以抵扣吗
  • 装订需要多长时间
  • 税务发票上的二维码
  • 买一送一的营销好处
  • 城镇垃圾处理费计入什么科目
  • 银行承兑到期之前怎么兑现
  • 冲抵货款的返利怎么做账
  • 车辆购置税退税申请表
  • 营改增后手写发票还能用吗
  • 建筑业增值税税率由11调整到10
  • 公司注销前怎么平账才不用交税
  • 长期股权投资账面价值和公允价值不一致
  • 即征即退和先征后退适用范围
  • el-cascader动态加载多级
  • 笔记本低电量提示
  • 如何设定电脑开机密码锁
  • 工会经费如何计提会计分录
  • 中专学历可以报成人本科吗
  • php数组有哪几种类型
  • php utf8转unicode
  • dreamweaver 是什么
  • linux怎么用微信
  • 补交之前年度税款怎么调账
  • 汽车报废残值收入怎么做账
  • 公积金贷款所需手续
  • vue使用pdf.js
  • 没进项可以开专票吗
  • vue process.env.node_env
  • 猪肉税票怎么开
  • b站导出预设
  • 共管账户可以转账吗
  • 2023年前端开发找工作好找吗
  • vue开发教程
  • css网页布局代码
  • fastdfs和minio哪个好
  • 清单应该盖公章还是财务章
  • wordpress安装主题致命错误
  • 发票勾选后为什么申报表里没有数据
  • 一般纳税人企业所得税怎么征收
  • 用友t3怎么结转本年利润
  • 收到税控盘退费怎么做分录
  • 个体工商户生产经营所得税税率表2023
  • 收到损坏物品赔偿金如何入账
  • 公司社保收费标准
  • 企业比赛奖金要交税吗
  • 企业办理名称变更怎么办
  • 3%税率专票为什么不能抵扣
  • 工程未完工开了发票怎么做账
  • 总分类账示例
  • 错误原始凭证怎么写
  • 什么是商业企业和工业企业
  • ubuntu安装教程14.04
  • 编程乱码
  • win7系统的虚拟内存在哪里
  • wmiex.exe是什么程序
  • win8.1 无法连接到此网络
  • 笔记本运行WINCC不显示全屏
  • win7 64位旗舰版电脑鼠标如何才能设置成左手操作?设置鼠标为左手操作的方法
  • 实例的英文
  • perl keys
  • JavaScript Math.ceil() 函数使用介绍
  • ug编程代码意思
  • python中执行同一函数3次
  • 推荐几个非常有趣的书
  • 下列关于javascript的叙述正确的有
  • 安卓程序切换
  • js过滤html代码
  • 土地增值税申报流程图
  • 报fob价格最后谁退税
  • 广西个人医保缴费时间
  • 长春税务局待遇如何
  • 竣工开始缴房产税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设