欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS如何在不同平臺(tái)實(shí)現(xiàn)多語(yǔ)言方式

 更新時(shí)間:2020年07月16日 14:30:14   作者:網(wǎng)絡(luò)蟲(chóng)  
這篇文章主要介紹了JS如何在不同平臺(tái)實(shí)現(xiàn)多語(yǔ)言方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

應(yīng)用場(chǎng)景:

在不同移動(dòng)平臺(tái)(IOS,Android)上,建立一套與HTML頁(yè)面通訊框架;主要業(yè)務(wù)邏輯使用HTML開(kāi)發(fā);想支持多語(yǔ)言開(kāi)發(fā)。

動(dòng)機(jī):

通過(guò)主動(dòng)發(fā)消息的方式,在頁(yè)面完成初始化前,獲取當(dāng)前語(yǔ)言選項(xiàng),并且根據(jù)該語(yǔ)言選項(xiàng),調(diào)用對(duì)應(yīng)的JS文件(每種語(yǔ)言對(duì)應(yīng)一個(gè)JS文件)解析頁(yè)面。

實(shí)現(xiàn)細(xì)節(jié):

向本地語(yǔ)言框架發(fā)請(qǐng)求獲取語(yǔ)言種類;

$(document).on("pageinit",function(){
/*Kaiwii 向本地代碼發(fā)請(qǐng)求獲取當(dāng)前語(yǔ)言種類*/
});

本地語(yǔ)言框架觸發(fā)回調(diào)函數(shù)(JS方法):根據(jù)語(yǔ)言選項(xiàng),動(dòng)態(tài)將對(duì)應(yīng)語(yǔ)言的JS文件嵌入HTML并且觸發(fā)其執(zhí)行;

/*Kaiwii 本地語(yǔ)言框架回調(diào)本方法*/ 
function GetLanguageCodeCallBack(Jstring,ERROR){ 
  var i18File = $("script[name='i18']"); 
  if(i18File.length==0){//沒(méi)有成功加載js文件 
    var i18FileLink = "<script name='i18' src='../../js/i18.js'></script>"; 
    switch (Jstring){ 
      case "EN": 
        i18FileLink = "<script name='i18' src='../../js/i18.js'></script>"; 
        break; 
      case "CN": 
        i18FileLink = "<script name='i18' src='../../js/i18_CN.js'></script>"; 
        break; 
    } 
    $("head").append(i18FileLink); 
  }else{//成功加載js文件 
    switch (Jstring){ 
      case "EN": 
        $(i18File).attr("src","../../js/i18.js"); 
        break; 
      case "CN": 
        $(i18File).attr("src","../../js/i18_CN.js"); 
        break; 
    } 
    /*主動(dòng)觸發(fā)更新HTML*/ 
    updatei18Spans(); 
  } 
} 

不同語(yǔ)言對(duì)應(yīng)的JS文件(如i18.js):

1、使用JSON對(duì)象存儲(chǔ)KEY-VALUE[不同語(yǔ)言版本的JS文件僅僅是VALUE不同(VALUE為對(duì)應(yīng)語(yǔ)言版本中的值)];

2、HTML中的靜態(tài)部分需要調(diào)用JS方法修改DOM對(duì)象的屬性方式完成多語(yǔ)言動(dòng)態(tài)化(通過(guò)調(diào)用updatei18spans()觸發(fā));動(dòng)態(tài)部分直接調(diào)用即可;

/*用于國(guó)際化*/
<pre name="code" class="javascript">/*Kaiwii*/

/*對(duì)應(yīng)關(guān)系表(key為元素的ID,value為國(guó)際化下的顯示內(nèi)容*//*span 部分*/var spans = {"DemandDepositAccountTitle":"CCB Current Account"};//本地代碼交互的部分var locale_vars = {"enquiryTitle":"Account Info Inquiry"};var i18placeholder = {"請(qǐng)輸入單位名稱或賬號(hào)":"Organization's Name/Account"," 開(kāi)始日期":"Start Date"," 截止日期":"End Date"};function updatei18Spans(){ for(index in spans){ $("span[i18Id='"+index+"']").html(spans[index]); } for(index in i18placeholder){ $("input[placeholder='"+index+"']").attr("placeholder",i18placeholder[index]); }}$(function(){//加載顯示內(nèi)容方法 updatei18Spans(); });

調(diào)用多語(yǔ)言動(dòng)態(tài)框架修改:

1、靜態(tài)部分:

HTML上:

<span i18Id="DemandDepositAccountTitle"></span>

2、動(dòng)態(tài)部分:

JS代碼中:

liElement += "<span ACC_NO='"+ACC_NO+"' CshEx_Cd='"+CshEx_Cd+"' CcyCd='"+CcyCd+"' onclick='renderBAL(this)' class='font14' style='color:#306ed2'>"+locale_vars.enquiryTitle+"</span>";

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法

    JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法

    這篇文章主要介紹了JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法,本文給出操作實(shí)例代碼和語(yǔ)法介紹,需要的朋友可以參考下
    2015-05-05
  • js當(dāng)月水電氣簡(jiǎn)單計(jì)算器

    js當(dāng)月水電氣簡(jiǎn)單計(jì)算器

    一個(gè)可以計(jì)算當(dāng)月水電氣多少錢的計(jì)算器 說(shuō)明:輸入各項(xiàng)后,在頁(yè)面任意空白處點(diǎn)擊鼠標(biāo),頁(yè)面自動(dòng)計(jì)算一次結(jié)果!,每項(xiàng)都必須填寫,填0也可以
    2008-04-04
  • JavaScript中函數(shù)柯里化示例詳解

    JavaScript中函數(shù)柯里化示例詳解

    JavaScript 函數(shù)柯里化是將一個(gè)多參數(shù)的函數(shù)轉(zhuǎn)換為一系列單參數(shù)的函數(shù),每個(gè)單參數(shù)函數(shù)都可以接收一個(gè)參數(shù),并返回一個(gè)新的函數(shù),本文將通過(guò)代碼示例給大家講講JavaScript函數(shù)柯里化的優(yōu)缺點(diǎn),需要的朋友可以參考下
    2023-09-09
  • JavaScript判斷是否是微信瀏覽器

    JavaScript判斷是否是微信瀏覽器

    通過(guò)判斷UA中是否有關(guān)鍵字micromessenger,有的話則是微信內(nèi)置瀏覽器。下面小編給大家分享實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,需要的朋友可以參考下
    2016-06-06
  • JS中showModalDialog 的使用解析

    JS中showModalDialog 的使用解析

    JS中showModalDialog 的使用解析,需要的朋友可以參考一下
    2013-04-04
  • Js獲取下拉框選定項(xiàng)的值和文本的實(shí)現(xiàn)代碼

    Js獲取下拉框選定項(xiàng)的值和文本的實(shí)現(xiàn)代碼

    本篇文章主要是對(duì)Js獲取下拉框選定項(xiàng)的值和文本的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2014-02-02
  • js實(shí)現(xiàn)帶農(nóng)歷和八字等信息的日歷特效

    js實(shí)現(xiàn)帶農(nóng)歷和八字等信息的日歷特效

    本文主要介紹了js實(shí)現(xiàn)帶農(nóng)歷和八字等信息的日歷特效,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考
    2016-05-05
  • JavaScript中Promise的使用詳解

    JavaScript中Promise的使用詳解

    Promise,相信每一個(gè)前端工程師都或多或少地在項(xiàng)目中都是用過(guò),畢竟它早已不是一個(gè)新名詞。ES6中已經(jīng)原生對(duì)它加以支持,在caniuse中搜索一下 Promise ,發(fā)現(xiàn)新版的chrome和firefox也已經(jīng)支持。但是低版本的瀏覽器我們可以使用 es6-promise 這個(gè) polyfill 庫(kù)來(lái)加以兼容。
    2017-02-02
  • Bootstarp基本模版學(xué)習(xí)教程

    Bootstarp基本模版學(xué)習(xí)教程

    這篇文章主要為大家詳細(xì)介紹了Bootstarp基本模版學(xué)習(xí)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 關(guān)于ES6新特性最常用的知識(shí)點(diǎn)匯總

    關(guān)于ES6新特性最常用的知識(shí)點(diǎn)匯總

    日常開(kāi)發(fā)中寫的 JavaScript 代碼,會(huì)用到ES6的部分新特性,所以下面這篇文章主要給大家介紹了關(guān)于ES6新特性最常用的知識(shí)點(diǎn),文章總結(jié)的非常全面,需要的朋友可以參考下
    2021-11-11

最新評(píng)論