亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

JS如何在不同平臺實現(xiàn)多語言方式

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

應用場景:

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

動機:

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

實現(xiàn)細節(jié):

向本地語言框架發(fā)請求獲取語言種類;

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

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

/*Kaiwii 本地語言框架回調(diào)本方法*/ 
function GetLanguageCodeCallBack(Jstring,ERROR){ 
  var i18File = $("script[name='i18']"); 
  if(i18File.length==0){//沒有成功加載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; 
    } 
    /*主動觸發(fā)更新HTML*/ 
    updatei18Spans(); 
  } 
} 

不同語言對應的JS文件(如i18.js):

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

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

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

/*對應關(guān)系表(key為元素的ID,value為國際化下的顯示內(nèi)容*//*span 部分*/var spans = {"DemandDepositAccountTitle":"CCB Current Account"};//本地代碼交互的部分var locale_vars = {"enquiryTitle":"Account Info Inquiry"};var i18placeholder = {"請輸入單位名稱或賬號":"Organization's Name/Account"," 開始日期":"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)用多語言動態(tài)框架修改:

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

HTML上:

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

2、動態(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>";

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    js當月水電氣簡單計算器

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

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

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

    JavaScript判斷是否是微信瀏覽器

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

    JS中showModalDialog 的使用解析

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

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

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

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

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

    JavaScript中Promise的使用詳解

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

    Bootstarp基本模版學習教程

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

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

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

最新評論