首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图 ┆ 虚拟主机 ┆ 中文域名
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 网页设计 → Html/Css → 文章内容

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

作者:佚名  来源:网上收集  发布时间:2007-6-18 2:09:44

  近来,随着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>


[] [返回上一页] [打 印]
  • 上一篇文章:熟悉网页制作中常用网页表单格式的技巧
  • 下一篇文章:HTML基础教程:学习掌握HTML 元素

  • 相关文章:
  • 浅析Java中Data类的应用
  • 用AdoDataSet实现数据表的导入导出
  • 取代NBSI2:Opendatasource And Openrowset--取代,N...
  • openrowset/opendatasource的功能介绍--openrowset,...
  • opendatasource学习记录--opendatasource,学习记录
  • [图文]SQL INJECTION的终极利器opendatasource和ope...
  • Oracle 9i Data Guard进行数据库的灾难防护
  • Oracle Database 10g:最佳新特性
  • 创建Standby Database
  • [图文]DataWindow Style帮你格式化数据窗口样式
  • 技术:XHTML(可扩展HTML)标准中的CDATA
  • 浅谈XHTML(可扩展HTML)标准中CDATA
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号