网站的字体切换

点击繁体,页面字体变成繁体。

实现过程:

1.创建langs.js文件

langs.js文件的内容:

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

2.在main.js中引入

// 字体文件
import zh_tran from "./api/langs.js"
Vue.prototype.$zh_tran = zh_tran

3.页面使用

<template><div style="width: 1000px; height: auto;text-align:center; margin: 100px auto"><div><span v-if="viewFont" @click="onSwitchLanguage('t')">繁體</span><span v-if="!viewFont" @click="onSwitchLanguage('s')">简体</span></div><div ><h2>水调歌头·明月几时有</h2><h3>[ 宋 ] 苏轼</h3><h4>丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。</h4></div></div>
</template>
<script>
export default {name: '',data() {return {viewFont: true,lang: 's'}},mounted() {this.$nextTick(() => {this.$zh_tran(localStorage.getItem('lang'))})},created() {},methods: {// 字体切换onSwitchLanguage(val) {this.lang = valif (val == 's') {   //简体this.viewFont = truelocalStorage.setItem('lang', 's')} else {     //繁体this.viewFont = falselocalStorage.setItem('lang', 't')}this.$zh_tran(localStorage.getItem('lang'))},}
}
</script>
<style></style>

4. 字体切换时考虑路由,路由跳转,字体保持。一般情况下,字体切换属于页面固定部分,需要了可以直接点击。路由就不考虑了

watch: {// $route: 'getPath'$route(to) {console.log('to :>> ', to);this.$nextTick(() => {this.$zh_tran(localStorage.getItem('lang'))this.getPath()})}},

vue项目的简体繁体切换相关推荐

  1. IDEA 简体繁体切换插件

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

  2. Win10系统简体繁体切换

    Win10系统简体繁体切换  

  3. Vue、elmentUI国际化 vue-i18n项目实行简繁体切换

    1.安装国际化插件vue-i18n npm install vue-i18n --save 2.增加国际化翻译文件 在项目的src下添加lang文件夹增加中文简体翻译文件(zh-cn.js)以及繁体翻 ...

  4. JS 实现网页的简体繁体切换

    网页中实现 js 繁体简体切换 这个是公司一位同事实现的功能,网站的实施是我,但不知道是他原创还是借鉴的. 首先是封装的 js 代码 1 // 网页简繁体转换 2 // 本js用于客户在网站页面选择繁 ...

  5. java web网站 js 简体繁体切换_求繁简转换的js代码,可以设置打开网站时候整站默认显示繁体或简体,然后可以手动切换繁简。...

    展开全部 html> Document 简体中文 | 繁体中文 秋风缠62616964757a686964616fe59b9ee7ad9431333361313931,落花残,庭前路人几声叹.夜 ...

  6. java web网站 js 简体繁体切换_通过JS实现网站繁体简体互换

    //网页简繁体转换//本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示//在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功能可关闭//本程序只在UT ...

  7. VUE 爬坑之旅 -- vue 项目中将简体转换为繁体

    一 安装相关的包 npm i language-tw-loader 二 修改 webpack 配置文件 在 build 文件夹下找到 webpack.base.conf.js 这个文件,在 modul ...

  8. win10输入法简体繁体切换

    二〇一七年六月二十四日 18:39:26更新 用原生的输入法竟然也会出现繁体字,恶心了,换了几个输入法,现在用qq输入法了,虽然会出现英文的小图标,但是我可以ctrl+空格切换中英文了,而且也不会导致 ...

  9. ubuntu12.04中极品五笔简体繁体切换

    不小心切换成了繁体,按Ctrl+:,可以切换回来. 转载于:https://www.cnblogs.com/lance-ehf/p/4280855.html

最新文章

  1. oracle 10g 企业管理器无法打开解决方法
  2. EasyMock学习笔记
  3. 如何固定最小宽度_如何使用更新的HTML和CSS函数创建响应式设计
  4. 交流磁路matlab,严格地说,交流磁路计算应该用磁滞回线。
  5. python序列化-复习
  6. 太真实了!工业界AI项目落地血泪教训总结
  7. 为什么顶级程序员都有超强逆商?顶级程序员马化腾在艰难的时候,是如何度过的?
  8. 大数据时代你需要知道的7个大数据定义
  9. pythoncad标注教程_CAD 2014二维三维建模渲染标注基础与提升视频教程
  10. Linux编写C++程序
  11. 数据分析案例-基于PCA主成分分析法对葡萄酒数据进行分析
  12. Android开发:设置背景图片
  13. css样式内联式,外联式,嵌入式
  14. 项目管理中的5个关键交付成果
  15. 一个快捷的计算e的值(第4章-5 求e的近似值 (15分))
  16. 2022年全球市场液相色谱仪器总体规模、主要生产商、主要地区、产品和应用细分研究报告
  17. 桌面上的IE图标不见了——解决方法
  18. 推荐php教程,10个php实例推荐
  19. 需求调研-如何做好业务调研工作
  20. Vue单向数据流(不要修改props)

热门文章

  1. 项目管理/互联网/软件全套文档、产品文档、技术文档、测试文档、运维文档、项目文档
  2. 蓝桥杯 青少年创意编程大赛 scratch 组(一)
  3. 开源作者遭受小白的9种伤害
  4. Echarts 水球图设置基准线
  5. 网页集成大华摄像头以及回放功能2019.11.14
  6. krpano全景图切片还原和下载
  7. flume系列之:flume基于kafka.topics和kafka.topics.regex两种方式匹配Kafka Topic
  8. 微信公众号平搜索排名,如何让公众号搜索排名靠前,公众号文章关键词排名规则
  9. VPS和云服务器应该选哪家?
  10. python将字符写入excel_Python 爬虫并且将数据写入Excel