javascript中的CDATA字段
CDATA 内部的所有东西都会被解析器忽略。
假如文本中包含了大量的 "<" 和 "&" 字符 - 就像编程代码中经常出现的情况一样 - 那么这个 XML 元素就可以被定义为一个 CDATA 部分。
CDATA 区段开始于 "<![CDATA[",结束于 "]]>":
<script type="text/javascript">
<![CDATA[
function compare(a,b)
{
if (a < b)
{alert("a小于b");}
else if (a>b)
{alert("a大于b");}
else
{alert("a等于b");}
}
]]>
</script>
在上面的例子中,在 CDATA 区段中的所有东西都会被解析器忽略。
关于 CDATA 区段的注释:
CDATA 区段不能包含字符串 "]]>",所以,CDATA 区段的嵌套是不被允许的。
同时也需要确保在 "]]>" 字符串中没有空格或折行。
为什么要使用CDATA:
XHTML的第二个改变是使用CDATA段。XML中的CDATA段用于声明不应被解析为标签的文本(XHTML也是如此),这样就可以使用特殊字符,如小于(<)、大于(>)、和号(&)和双引号("),而不必使用它们的字符实体。考虑下面的代码:
<script type="text/javascript">
function compare(a,b)
{
if (a < b)
{alert("a小于b");}
else if (a>b)
{alert("a大于b");}
else
{alert("a等于b");}
}
</script>
这个函数相当简单,它比较数字a和b,然后显示消息说明它们的关系。但是,在XHTML中,这段代码是无效的,因为它使用了三个特殊符号,即小于、大于和双引号。要修正这个问题,必须分别用这三个字符的XML实体<、>和"替换它们:
<script type="text/javascript">
function compare(a,b)
{
if (a <b)
{alert("a小于b");}
else if (a>b)
{alert("a大于b");}
else
{alert("a等于b");}
}
</script>
这段代码存在两个问题。首先,开发者不习惯用XML实体编写代码。这使代码很难读懂。其次,在JavaScript中,这种代码实际上将视为有语法错,因为解释程序不知道XML实体的意思。用CDATA段即可以以常规形式(即易读的语法)编写JavaScript代码。正式加入CDATA段的方法如下:
<script type="text/javascript">
相关文档:
from http://niunan.javaeye.com/blog/248256
Page.ClientScript.RegisterStartupScript(Page.GetType(),"message", "<mce:script language='javascript' defer>alert('验证码输入错误!');</mce:script>"); ......
javascript的系统函数
1,encodeURI方法
返回对一个URI字符串编码中的结果,本质是UTF-8编码
eg:
var urlStr = encodeURI('http://fanli.qq.com/index.html?a=ddd&msg=中国');
alert(urlStr);
2, decodeUR ......
(1)下载ClientInfo.dll(在我的资源中可以下载http://download.csdn.net/source/2141582)
(2)使用new ActiveXObject("ClientInfo.HostInfo")调用ActiveX库
(3)GetAdapterMac(0)获取网卡MAC地址
使用示例:
<HTML>
<TITLE>ClientInfoX JavaScript Sample</TITLE>
<HEAD>
<script l ......
! 去除字符串两端空格的处理
如果采用传统的方式,就要可能就要采用下面的方式了
//清除左边空格
function js_ltrim(deststr)
{
if(deststr==null)return "";
var pos=0;
var retStr=new String(deststr);
if (retStr.lenght==0) return retStr;
while (retStr.substring(pos, ......