浅谈XHTML(可扩展HTML)标准中CDATA

xhtml|标准

  近来,随着XHTML(可扩展HTML)标准的出现,<script/>标签也经历了一些改变。该标签不再用language特性,而用type特性声明内嵌代码或要加入的外部文件的mime类型,JavaScript的mime类型是"text/javascript"。例如:

<html> 
 <head> 
 <title>Title of Page</title> 
 <script type=”text/javascript”> 
 var i = 0;  
 </script> 
 <script type=”text/javascript” src=”../scripts/external.js”></script> 
 </head> 
 <body> 
 <!-- body goes here --> 
 </body> 
</html> 

  即使许多浏览器不完全支持XHTML,但大多数开发者现在都用type特性,而不用language特性,以提供更好的XHTML支持。省略language特性不会带来任何问题,因为如前所述,所有浏览器都默认<script/>的该属性值为JavaScript。

  XHTML的第二个改变是使用CDATA段。XML中的CDATA段用于声明不应被解析为标签的文本(XHTML也是如此),这样就可以使用特殊字符,如小于(<)、大于(>)、和号(&)和双引号("),而不必使用它们的字符实体。考虑下面的代码:

<SCRIPT type=”text/javascript”> 
 function compare(a, b) { 
 if (a < b) { 
 alert(“A is less than B”); 
 } else if (a > b) { 
 alert(“A is greater than B”); 
 } else { 
 alert(“A is equal to B”); 
 } 

</SCRIPT> 

  这个函数相当简单,它比较数字a和b,然后显示消息说明它们的关系。但是,在XHTML中,这段代码是无效的,因为它使用了三个特殊符号,即小于、大于和双引号。要修正这个问题,必须分别用这三个字符的XML实体<、>和"替换它们:

<SCRIPT type=”text/javascript”> 
function compare(a, b) { 
if (a < b) { 
alert("A is less than B"); 
} else if (a > b) { 
131 
JavaScript in the Browser 
alert("A is greater than B"); 
} else { 
alert("A is equal to B"); 


</SCRIPT> 

  这段代码存在两个问题。首先,开发者不习惯用XML实体编写代码。这使代码很难读懂。其次,在JavaScript中,这种代码实际上将视为有语法错,因为解释程序不知道XML实体的意思。用CDATA段即可以以常规形式(即易读的语法)编写JavaScript代码。正式加入CDATA段的方法如下:

<SCRIPT type=”text/javascript”>
<![CDATA[ 
function compare(a, b) { 
if (a < b) { 
alert(“A is less than B”); 
} else if (a > b) { 
alert(“A is greater than B”); 
} else { 
alert(“A is equal to B”); 


]]>
</SCRIPT>

  虽然这是正式方式,但还要记住,大多数浏览器都不完全支持XHTML,这就带来主要问题,即这在JavaScript中是个语法错误,因为大多数浏览器还不认识CDATA段。

  当前使用的解决方案模仿了“对旧浏览器隐藏”代码的方法。使用单行的JavaScript注释,可在不影响代码语法的情况下嵌入CDATA段:

<SCRIPT type=”text/javascript”> 
//<![CDATA[ 
function compare(a, b) { 
if (a < b) { 
alert(“A is less than B”); 
} else if (a > b) { 
alert(“A is greater than B”); 
} else { 
alert(“A is equal to B”); 


//]]> 
</SCRIPT>

时间: 2024-10-24 17:35:34

浅谈XHTML(可扩展HTML)标准中CDATA的相关文章

浅谈云计算在大型企业研发信息化中的应用

本文讲的是浅谈云计算在大型企业研发信息化中的应用,[IT168 资讯]虽然IT行业对云计算(Clouding Computing)有不同的看法,但它仍然是近几年最热的IT词汇之一.究竟什么是云计算,它对我们所关注的企业研发信息化有何帮助呢? 比较通俗的说法,云计算就是硬件+软件+服务.这三者并不是简单的相加,对于研发信息化而言,云计算应该定义为,适应研发需求的硬件与软件合理搭配,并为研发提供易用.高效.低成本的信息服务. 对于企业内部来讲,"私有云"是现代企业研发信息化发展的趋势之一.

浅谈使用splice函数对数组中的元素进行删除时的注意事项_javascript技巧

使用splice函数对数组中的元素进行删除时的注意事项 删除值为c的元素: <script> var arr = new Array(); arr[0] = 'a'; arr[1] = 'b'; arr[2] = 'c'; arr[3] = 'c'; arr[4] = 'e'; for(var i=0; i<arr.length; i++){ if(arr[i] == 'c'){ arr.splice(i,1); i=i-1; // 必须对i减去1,否则后面的一个元素会被跳过去 } }

浅谈交换友情链接的标准及注意事项

做网站优化的从业者都知道决定网站排名无外乎,友情链接外链和内容这三个方面,内容和外链网上有很多文章讲解的这里我就不多说了.今天和大家说说友情链接,友情链接就是A网站链接到B网站,B网站同时链接回A网站,并且都是在首页进行关键词链接.友情链接是最优质的外链的一种形式,它对网站关键词排名以及提升网站权重都起着非同小可的作用.那么我们在实际工作中怎样去衡量对方的网站是否优质,是否值得去换链接,有没有一个衡量的标准呢?下面我就具体说一下交换友情链接的标准和注意事项 第一:交换友情链接首先要看对方网站的A

浅谈站长如何扩展出合适的长尾关键词

站长在寻找网站关键词时常用的是百度指数.百度下拉框和相关搜索提供的关键词作选择,但是出现在这些地方的关键词都是有竞争度的,而且还不小呢.直接选择做网站关键词的话,需要较强的优化能力才会见效,而且用的时间也不短.但是咱们可以换个方向去思考,不直接选用,而是通过其提供的关键词扩展出合适自己的网站关键词也行啊.成都人才网觉得在寻找网站关键词时,要善于利用长尾关键词的能量,以长尾带动主关键词是最有效的提高排名的方法.今天讲讲如何通过相关搜索扩展出合适网站的长尾关键词. 一.关键词加上地方名称 关键词加上

菜鸟浅谈网站设计的评价标准有哪些

中介交易 SEO诊断 淘宝客 云主机 技术大厅 到现在已经对一些网站表达了自己对其设计的一些看法,虽然不是专业的网页设计师,但是网页设计师却不一定掌握营销导向型网站设计的设计标准,这个问题也是作为网络营销人员和站长们所关注和希望改进的地方.现在把我对于网站设计的七大标准呈现给大家,顺序不作为轻重与否的标准,里面很多看法是业界一致的,希望对大家能有参考价值; 一, 网站主题性.网站主题性是指网站是做什么的,怎么做的,要将最主要的内容呈现给用户.网站主题性是用户对于内容的直观体验,与网站易用性的有着

浅谈判断网站优劣的标准

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 经济危机下,很多中小站长要把网站做得好都不容易.由于建一个网站门槛很低,出现了很多相同和雷同的网站,不过我们该如何判断一个网站的优劣呢?我想从以下几个方面和大家探讨一下: 1.域名 很多网站站长都很关心域名的好坏,一个听起来比较顺的域名,往往都是价值不菲.特别是com/net为后缀的域名,4个字母或数字的这样域名已经无法再申请到了.什么样的域

浅谈网站在吸引用户过程中需采取的方法与注意事项

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 随着互联网技术的不断进步,互联网每天都在诞生一位又一位的站长,而什么样的网站才能让用户都喜欢?什么样的网站才能得到最大的价值流量呢?如何才能吸引用户,增加我们的访问量?相信这一连串的问题困惑着不少的站长,下面针对这一些问题我与大家一起分享一下我的观点与看法. 首先,网站首页要设计精美,内容结构要合理,而且能突出网站的主题.网站的首页最好不要太

浅谈如何在ASP.NET Core中实现一个基础的身份认证_实用技巧

ASP.NET终于可以跨平台了,但是不是我们常用的ASP.NET, 而是叫一个ASP.NET Core的新平台,他可以跨Windows, Linux, OS X等平台来部署你的web应用程序,你可以理解为,这个框架就是ASP.NET的下一个版本,相对于传统ASP.NET程序,它还是有一些不同的地方的,比如很多类库在这两个平台之间是不通用的. 今天首先我们在ASP.NET Core中来实现一个基础的身份认证,既登陆功能. 前期准备: 1.推荐使用 VS 2015 Update3 作为你的IDE,下

吴佰元:浅谈GPS技术在国土资源中的应用

[硅谷网9月26日讯]原文载于<科技与生活>杂志2012年第14期,文章称,社会在不断的前进与发展,当代信息化的时代里,对于各项技术的发展来讲,都是具有十分良好的前景与较大的发展空间.所以这些新技术的出现,为社会为人们的生活带来很多的便利.因此,在当代我们要充分利用这些新技术.新产品的力量推动我国各项事业不断前进的步伐. 关键词GPS技术:http://www.aliyun.com/zixun/aggregation/30834.html">国土资源:应用 国土资源是国民经济中