Javacript中的“<![CDATA[”代码块
摘自:《JavaScript核心技术》
看下面一段代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>TestJS</title>
</head>
<body>
12345
<script type="text/javascript">
//<![CDATA[
var msg = '<h3>Hello world!</h3>';
document.writeln(msg);
//]]>
</script>
</body>
</html>
<html>
<head>
<title>TestJS</title>
</head>
<body>
12345
<script type="text/javascript">
//<![CDATA[
var msg = '<h3>Hello world!</h3>';
document.writeln(msg);
//]]>
</script>
</body>
</html>
脚本块包含在一个XHTML CDATA块之中。XHTML处理器不会解释CDATA块中所含的数据。
使用CDATA块的原因是:CDATA处理器会解释诸如header(H3)的开始和结束等标记,即便这些标记包含在JavaScript字符串中也要解释。如果不使用CDATA,虽然页面可能会显示正确,但当你进行页面验证时,会看到有验证错误。
那些通过使用SRC属性而导入到页面中的JavaScript,会被假设为CDATA兼容,因而不需要用CDATA块。但是,内联的或嵌入的JS应当使用CDATA来隔开,尤其是当它包含在BODY元素之中时。
对于大多数浏览器,你还需要使用JavaScript注释符号(//)来隐藏CDATA块的开始标记和结束标记。否则,JavaScript的内容可能不被正确解析(如IE6)。
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利
This posting is provided "AS IS" with no warranties, and confers no rights.
This posting is provided "AS IS" with no warranties, and confers no rights.