从下层浏览器隐藏内联Javascript和CSS的最佳方法是什么? ......我看到一个共同主题的一些变化。它们都是正确的,还是比另一种更好的方法?
<script language="javascript" type="text/javascript">
<!--
// Forces the treeview to adjust to the new size of its container
function resizeTree(DomElementId, NewPaneHeight, NewPaneWidth) {
//do stuff
}
//-->
</script>
VS
<script type="text/javascript">
//<![CDATA[
/* Javascript code here */
//]]>
</script>
VS
<style type="text/css">
/*<![CDATA[*/ CSS stuff here /*]]>*/ </style>
答案 0 :(得分:3)
您的第一个示例是对script
元素hide contents的deprecated古代pre-HTML方法,这些方法不能识别它们。您不必再使用它了。每个当前浏览器(其中IE 6是最早的)识别这些元素并且知道它不应该直截了当地显示它们的内容。顺便说一下,language
元素的script
属性也很久以前就已经CDATA markers了。
您的第二个和第三个示例包含Wikipedia,嵌入在适用于所使用的脚本或样式语言的注释中。在XHTML文档中嵌入内联脚本或样式表时使用它们(仅限于此)。如果没有这些标记,解析器会认为&符号和小于号分别代表特殊实体或标记的开头。引用Comments and CDATA: The mysterious history of script and style in HTML:
因为能够使用是有用的 小于号(&lt;)和&符号(&amp;) 在网页脚本中,以及较小的 范围样式,无需 记得逃避它们,这很常见 在文本周围使用CDATA标记 内联
<script>
和<style>
XHTML文档中的元素。但那样 该文档也可以解析 HTML解析器,无法识别 CDATA标记,CDATA标记 通常会被评论出来
这是按照您在第二个和第三个示例中显示的方式完成的。前者显示了一个Javascript示例,后者是一个CSS片段。
另见{{3}}。