Sex*_*yMF 165 html javascript xhtml cdata
在JavaScript标记和HTML中使用CDATA有什么用?
<script type="text/javascript">
// <![CDATA[
// ]]>
</script>
Run Code Online (Sandbox Code Playgroud)
Ahs*_*hod 119
解析器将解析XML文档中的所有文本.
但解析器将忽略CDATA部分内的文本.
CDATA - (未分析)字符数据
术语CDATA用于不应由XML解析器解析的文本数据.
像"<"和"&"这样的字符在XML元素中是非法的.
"<"将生成错误,因为解析器将其解释为新元素的开头.
"&"将生成错误,因为解析器将其解释为字符实体的开头.
某些文本(如JavaScript代码)包含大量"<"或"&"字符.为避免错误,脚本代码可以定义为CDATA.
解析器会忽略CDATA部分内的所有内容.
一个CDATA部件以"开始
<![CDATA[
",结尾是"]]>
"
在程序输出中使用CDATA
如果Web浏览器将文档呈现为HTML,则XHTML文档中的CDATA部分可能会被Web浏览器进行不同的解析,因为HTML解析器不识别CDATA开始和结束标记,也不识别HTML实体引用(如标记
<
内)<script>
.这可能会导致Web浏览器出现渲染问题,并且如果用于显示来自不受信任来源的数据,则可能导致跨站点脚本漏洞,因为这两种解析器在CDATA部分结束的位置上会有不同意见.
Del*_*ani 89
CDATA
HTML中没有任何意义.
CDATA
是一种XML构造,它设置标记的内容,通常是#PCDATA - 解析的字符数据,而不是#CDATA,即非解析的字符数据.它只在XHTML中相关且有效.
它用在script
标签中以避免解析<
和&
.在HTML中,这不是必需的,因为在HTML中,script
已经是#CDATA.
use*_*959 17
来自http://en.wikipedia.org/wiki/CDATA:
因为能够在网页脚本中使用少于符号(<)和&符号(&)以及在较小程度上使用样式而不必记住转义它们是很有用的,所以通常使用CDATA标记. XHTML文档中内联和元素的文本.但是,为了使文档也可以由不识别CDATA标记的HTML解析器进行解析,CDATA标记通常会被注释掉,就像在这个JavaScript示例中一样:
<script type="text/javascript">
//<![CDATA[
document.write("<");
//]]>
</script>
Run Code Online (Sandbox Code Playgroud)
Dan*_*eón 10
CDATA已过时.
请注意,不应在HTML中使用CDATA部分; 它们只能用于XML.
所以不要在HTML 5中使用它.
https://developer.mozilla.org/en-US/docs/Web/API/CDATASection#Specifications
一种编写HTML和XHTML的公共子集的方法,希望具有更高的可移植性.
在HTML中,<script>
魔法逃脱一切直到</script>
出现.
所以你可以写:
<script>x = '<br/>';
Run Code Online (Sandbox Code Playgroud)
并且<br/>
不会被视为标签.
这就是为什么字符串如:
x = '</scripts>'
Run Code Online (Sandbox Code Playgroud)
必须像以下一样进行转义:
x = '</scri' + 'pts>'
Run Code Online (Sandbox Code Playgroud)
请参阅:为什么在使用document.write()编写<script>标记时将其拆分?
但是XML(以及XHTML,它是XML的"子集",与HTML不同),没有那种魔力:<br/>
会被视为标签.
<![CDATA[
是XHTML的说法:
不要解析任何标签,直到下一个
]]>
,认为它都是一个字符串
//
添加它是为了使CDATA在HTML中也能很好地工作.
在HTML <![CDATA[
中并不神奇,因此它将由JavaScript运行.因此//
用于评论它.
XHTML也会看到//
,但会将其视为空注释行,这不是问题:
//
Run Code Online (Sandbox Code Playgroud)
那说:
<!DOCTYPE html>
vs的HTML还是XHTML<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
script
语法协调doctype但这违反了互联网的黄金法则:
不信任第三方,否则您的产品将会破产
归档时间: |
|
查看次数: |
151010 次 |
最近记录: |