从低级浏览器隐藏内联CSS和JavaScript的最佳方法

时间:2010-08-01 22:47:27

标签: javascript css comments

从下层浏览器隐藏内联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>

1 个答案:

答案 0 :(得分:3)

您的第一个示例是对script元素hide contentsdeprecated古代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}}。