發表文章

目前顯示的是 2015的文章

自己設計讓網頁支援多國語系的架構

首先我們要把問題釐清,支援多國語系最基本的概念就是,畫面上的文字要被替換。 於是我們先建立一個用來被替換的多國語系字典檔 這邊先簡單用物件來當範例 // 多國語系文字庫 var gLib = { "0000": { "CHT": "Traditional Chinese (繁體中文)", "ENU": "English (English)", "KOR": "Korean (한국어)" }, "0001": { "CHT": "語言", "ENU": "Language", "KOR": "언어" }, "0002": { "CHT": "選擇語言:", "ENU": "Select your language:", "KOR": "언어를 선택하세요 :" } } 有了多國語系文字庫之後,我想要建立一個管理器來存取這個文字庫,我希望這個管理器僅保有我指定語言的部分,並且提供取用的 get function // 文字庫管理器 var gTxtLib = { resource: undefined, set: function(lib, lang) { var result = undefined; if (typeof lib == 'object') { result = {}; for (var id in lib) { var txtObj = lib[id]; result[id] = (lang in txtObj ? txtObj[lang] : undefined); } } this.resource = result; }, has

javascript milliseconds to time format

// 換算ms時間成一般時間格式 function getTimeString(total_ms) { var ms = 0, sec = 0, min = 0, hour = 0; ms = total_ms % 1000; sec = parseInt((total_ms - ms) / 1000); if (sec != 0) min = Math.floor(sec / 60); if (min != 0) hour = Math.floor(min / 60); return (hour > 0 ? formatNumberLength(hour, 2) + ":" : "") + (min > 0 ? formatNumberLength(min % 60, 2) + ":" : "") + (sec > 0 ? formatNumberLength(sec % 60, 2) : "00") + "." + formatNumberLength(ms, 3); } // 將數值轉成指定長度的字串 function formatNumberLength(oNumber, oLength) { var str = parseInt(oNumber).toString(); while(str.length < oLength) { str = '0' + str; } return str; } <><> 結果範例 <><> ms: Result: