从下层浏览器隐藏内联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>
与
<script type="text/javascript">
//<![CDATA[
/* Javascript code here */
//]]>
</script>
与
<style type="text/css">
/*<![CDATA[*/ CSS stuff here /*]]>*/ </style>
解决方法:
您的第一个示例是古老的HTML 3.2之前的方法,将脚本元素的hide contents用于无法识别它们的浏览器.您不再需要使用它.当前的每个浏览器(其中IE 6是最古老的浏览器)都可以识别这些元素,并且知道它不应直截了当地显示其内容.顺便说一句,脚本元素的language属性在很久以前也是deprecated.
您的第二个和第三个示例包含CDATA markers,它们嵌入在适用于所用脚本或样式语言的注释中.当您将内联脚本或样式表嵌入XHTML文档时(仅那时),请使用它们.如果没有这些标记,解析器将认为与号和小于号分别代表特殊实体或标记的开头.引用Wikipedia:
Since it is useful to be able to use
less-than signs (<) and ampersands (&)
in web page scripts, and to a lesser
extent styles, without having to
remember to escape them, it is common
to use CDATA markers around the text
of inline<script>
and<style>
elements in XHTML documents. But so that
the document can also be parsed by
HTML parsers, which do not recognise
the CDATA markers, the CDATA markers
are usually commented-out
这是您在第二个和第三个示例中显示的方式所完成的.前者显示了一个Javascript示例,后者显示了CSS代码段.
另请参见Comments and CDATA: The mysterious history of script and style in HTML.