cesium-city3d/examples/js/utils.js

107 lines
3.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var utils = {
//设置语言。参数:"zh_CN""en"
setLanguage: null,
//获取当前语言。默认从cookie读取没有则读取浏览器默认语言
getLanguage: null,
//设置cookie
setCookie: null,
//获取cookie
getCookie: null,
//获取给定key在当前语言环境下对应的key所对应的值。如读取name字段的值在英语环境下应该变为读取name_en字段的值
getLocalPairs: null,
//加载模板文件依赖art-template库
loadTemplate: null
};
(function (utils) {
var cKey = "userLanguage";
//设置语言。参数:"zh_CN""en"
function setLanguage(language) {
//默认设置过期时间为1个小时
setCookie(cKey, language, 60 * 60 * 1000);
}
//获取当前语言。默认从cookie读取没有则读取浏览器默认语言
function getLanguage() {
var lang = getCookie(cKey);
if (lang) {
return lang;
}
if (navigator.appName === 'Netscape') {
return navigator.language;
}
else {
return navigator.browserLanguage;
}
}
//设置cookie,参数分别为key,value,过期时间(单位:ms,域
function setCookie(cKey, cValue, exp, domain) {
var cookie = cKey + "=" + cValue;
if (exp) {
var d = new Date();
d.setTime(d.getTime() + exp);
cookie += ";expires=" + d.toUTCString();
}
cookie += domain ? ";path=" + domain : ";path=/";
document.cookie = cookie;
}
function getCookie(cKey) {
var name = cKey + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) === ' ') c = c.substring(1);
if (c.indexOf(name) !== -1) return c.substring(name.length, c.length);
}
return "";
}
//清除cookie
function clearCookie(name) {
setCookie(name, "", -1);
}
function getLocalKey(key) {
var lang = getLanguage();
var localKey = key;
if (lang === "en") {
localKey = key + "_" + lang;
}
return localKey;
}
function getLocalPairs(obj, key) {
if (!obj) {
return;
}
var localKey = getLocalKey(key);
return obj[localKey] != null ? obj[localKey] : obj[key];
}
function loadTemplate(element, templateFilePath, data) {
if (!window.$ || !window.jQuery) {
throw new Error("jQuery is required")
}
if (!window.template) {
throw new Error("art-template.js is required")
}
if (!element) {
throw new Error("element is required")
}
$.get(templateFilePath, function (html) {
$(element).html(window.template.compile(html)(data));
});
}
utils.setLanguage = setLanguage;
utils.getLanguage = getLanguage;
utils.setCookie = setCookie;
utils.getCookie = getCookie;
utils.getLocalPairs = getLocalPairs;
utils.loadTemplate = loadTemplate;
})(utils);