(二)ASP.NET中JavaScript的中英文(多语言)实现方案(二)
在ASP.NET中JavaScript的中英文(多语言)实现方案中简单的介绍了js实现多语言的一种方案。下面将要讲述另外一种方法,尽管很相似,但是有些地方也是需要细细琢磨的,不说了,先看看。
在Lang.html中代码如下:因为本文中用到了jquery所以要先加载jquery的js文件。另外再分别加载所需要的两个自定义js
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title></title>
<script src="/common/jquery-1.8.2.min.js" type="text/javascript"> </script>
<script src="/common/common.js"></script>
<script src="/common/CommonGlobalVariables.js"></script>
</head>
<body>
<a href="javascript: SetEn()" >En</a>
<a href="javascript: SetZh()" >Cn</a>
<a href="javascript:commonAlert()">common</a>
<a href="javascript:globalAlert()">Global</a>
</body>
</html>
本文中的js多语言实现了两种格式的。
第一种:
先来看common.js
//动态加载js
function loadJavascriptInHead(file) {
var head = $('head');
$("<script></script>").attr({ src: file, type: 'text/javascript', id: 'loadscript' }).appendTo(head);
} //comm init language
function InitPublicLanguageculture() { if (document.cookie.indexOf("en")>) {
loadJavascriptInHead('/common/en-us.js');
loadJavascriptInHead('/common/enGlobalVariables.js');
}
else{
loadJavascriptInHead("/common/zh-cn.js");
loadJavascriptInHead('/common/cnGlobalVariables.js');
}
} function commonAlert() {
InitPublicLanguageculture();
alert($.common.lang.User);
} function SetEn() {
document.cookie = "lg=en";
}
function SetZh() {
document.cookie = "lg=cn";
}
common.js中定义了SetEn() SetZh()commonAlert()三个方法,分别对应了html文件中的超链接。
loadJavascriptInHead()是动态加载js的方法,具体详见JQuery动态加载js的三种方法。
在初始化语言是通过选择动态加载中英文两种语言的js对应分别如下:
en-us.js代码:
(function ($) {
if (typeof ($.common) == 'undefined') {
$.common = {};
}
$.common.lang = {
User: "UserName",
Pwd: "Password"
}
})(jQuery);
zh-cn.js代码:
(function ($) {
if (typeof ($.common) == 'undefined') {
$.common = {};
}
$.common.lang = {
User: "用户名",
Pwd:"密码"
}
})(jQuery);
第二种:
CommonGlobalVariables.js代码如下:
var tipmsg = {
errmsg: "错误",
successmsg:"正确"
}
$.Tipmsg = tipmsg;
function globalAlert() {
InitPublicLanguageculture();
alert(tipmsg.errmsg);
}
这里面是设置了全局变量$.Tipmsg。然后通过修改全局变量的值就可以实现中英文切换。
加载的中英文js代码如下:
cnGlobalVariables.js代码:
$.Tipmsg.errmsg = "错误全局变量";
$.Tipmsg.successmsg = "正确全局变量";
enGlobalVariables.js代码:
$.Tipmsg.errmsg = "Error";
$.Tipmsg.successmsg = "Right";
(二)ASP.NET中JavaScript的中英文(多语言)实现方案(二)的更多相关文章
- (一)ASP.NET中JavaScript的中英文(多语言)实现方案
PS: https://github.com/hzlzh/Front-End-Standards/wiki/HTML-CSS-JS-i18n 本文原始思路起源于此网址,请自行查看. 本文只是简单的一个 ...
- asp.net中javascript与后台c#交互
asp.net中javascript与后台c#交互 作者:熊猫大叔 字体:[增加 减小] 类型:转载 时间:2015-10-23我要评论,出处:http://www.jb51.net/article/ ...
- [转]开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo
热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...
- 开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo(转)
热衷于开源框架探索的我发现ASP.NET MVC与jQuery easyUI的组合很给力.由于原先一直受Ext JS框架的licence所苦恼,于是痛下决心寻找一个完全免费的js框架——easyUI. ...
- Asp.net中后台C#数组与前台Javascript数组交互
摘自:http://blog.csdn.net/a6225301/article/details/20003305 在上一篇<asp.net中javascript与后台c#交互>中实现了前 ...
- 《剑指offer》— JavaScript(1)二维数组中的查找
二维数组中的查找 题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ** ...
- 《剑指offer》 二维数组中的查找
本题目是<剑指offer>中的题目 二维数组中的查找 题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个 ...
- 【转载】Asp.Net中使用基于jQuery的javascript前台模版引擎JTemplate
JTemplate是基于jQuery的开源的前端模版引擎,在Jtemplate模板中可以使用if判断.foreach循环.for循环等操作,使用Jtemplate模板优点在于ajax局部刷新界面时候不 ...
- ASP.NET中进行消息处理(MSMQ) 二(转)
在我上一篇文章<ASP.NET中进行消息处理(MSMQ)一>里对MSMQ做了个通俗的介绍,最后以发送普通文本消息和复杂的对象消息为例介绍了消息队列的使用. 本文在此基础上继续介 ...
随机推荐
- verilog 之数字电路 寄存器,触发器。
我一直听说没有由code到circuit就只是入门了.实在没办法了.我想了一招,一个一个的写,然后看RTL,然后分析.这是第一篇. 1.触发器. 没有复位,置位.posedge clk 是触发沿时钟. ...
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql (转)
ps -A | grep -i mysql kill 列出来的进程 service mysql start 我的问题就解决了 ------------------------------------- ...
- Julia - 整数型
所有的基础数据类型通过灵活用户可扩展的类型提升系统 ,不需显式类型转换,就可以互相运算 整数的默认类型,取决于系统是 32 位还是 64 位 julia> typeof(1) # 32 位系统 ...
- java中Thursday 05 September 2002类型时间的转化
package config; import Java.text.DateFormat; import java.text.ParseException; import java.text.Simpl ...
- python dns欺骗
'''' from scapy.all import * from threading import Thread def DNShijacking(): global wg wg=raw_input ...
- linux anaconda 管理 python 包
1.下载 anaconda https://www.continuum.io/downloads 2.安装anaconda 3.conda install package-name //利用anaco ...
- C# 泛型编程之泛型类、泛型方法、泛型约束
来自Hauk的文章 C# 泛型编程之泛型类.泛型方法.泛型约束 所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型. 泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为 ...
- 太白老师 day06 编码 encode decode
ASCII : 字母, 数字, 特殊字符 字符:1个字节 数字: 1个字节 Unicode: 万国码, 包含所有文字 创建之初 字符: 2个字节 中文: 2个字节 升级: 字符: 4个字节 中文 : ...
- 如何建立ElasticSearch里的mappings?
刚接触elasticsearch,好多东西都不会用,百度了很多,都看不懂,终于摸索出了最简单的通过http建立mappings的方法~ 有人在建立mappings报各种错误,首先,如果你的这个索引中已 ...
- split files test
python split_upload.py /root/github/python/s3_test/test.txt dbelt dumps python download_to ...