【问题标题】:Best way to hide inline CSS and JavaScript from downlevel browsers从下层浏览器隐藏内联 CSS 和 JavaScript 的最佳方法
【发布时间】:2011-03-23 23:29:51
【问题描述】:

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

【问题讨论】:

    标签: javascript css comments


    【解决方案1】:

    您的第一个示例是将 hide contentsscript 元素用于无法识别它们的浏览器的古老的 pre-HTML 3.2 方法。您不必再使用它了。每个当前的浏览器(其中 IE 6 是最老的)都能识别这些元素,并且知道它不应该直接显示它们的内容。顺便说一句,script 元素的language 属性在很久以前也是deprecated

    您的第二个和第三个示例包含CDATA markers,嵌入在适合所使用的脚本或样式语言的 cmets 中。当您在 XHTML 文档中嵌入内联脚本或样式表时使用它们(并且仅在那时)。如果没有这些标记,解析器会认为与号和小于号分别代表特殊实体或标签的开头。引用Wikipedia

    既然能够使用它是有用的 小于号 (<script> 和 &lt;style&gt; XHTML 文档中的元素。但是这样 该文档也可以通过以下方式解析 HTML 解析器,无法识别 CDATA 标记,CDATA 标记 通常被注释掉

    这是按照您在第二个和第三个示例中显示的方式完成的。前者展示了一个 Javascript 示例,后者展示了一个 CSS sn-p。

    另见Comments and CDATA: The mysterious history of script and style in HTML

    【讨论】:

    • 在处理嵌入在电子邮件中的 CSS 时,是否会发生任何变化?例如黑莓客户端或其他设备
    • @Maker——我真的很怀疑,因为我们仍在处理 XHTML。但是,如果可能的话,我会将 HTML 电子邮件作为 HTML(使用 HTML 5 Doctype)而不是 XHTML 发送,从而规避整个问题(或者更确切地说,以纯文本形式发送电子邮件,但这更多是个人喜好)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-26
    相关资源
    最近更新 更多