【问题标题】:HTML do I need a mime type for the link tag?HTML 我是否需要链接标签的 mime 类型?
【发布时间】:2013-05-13 22:10:03
【问题描述】:

David Crockford 建议省略脚本标签的type="application/javascript" 属性。我应该对 CSS 链接标签做同样的事情吗(省略 "type=text/css")?我搜索了“html 链接省略 mime 类型”和一些变体,但没有找到任何东西

【问题讨论】:

    标签: html hyperlink mime-types


    【解决方案1】:

    根据<script> 的文档:

    type 属性给出了脚本的语言或数据的格式。如果该属性存在,则其值必须是有效的 MIME 类型。不得指定 charset 参数。如果该属性不存在,则使用默认值是“text/javascript”。

    现在,我们来看看<link>:

    type属性的默认值,如果该属性不存在,则使用该属性,是“text/css”。

    The specification 出于某种原因对此不清楚,但确实包含以下内容:

    因为默认类型是 text/css...

    type 属性也纯粹是建议性的。如果它是有效的 CSS,现代浏览器肯定不需要它。

    【讨论】:

    • 啊,谢谢,实际的 w3 参考...我从来没有使用过它。在这个问题stackoverflow.com/questions/2706290/… 中,它说“在 xhtml 中,[脚本标签 mime 类型属性] 是必需的且不必要的”。链接标签也是“必需但不必要的”吗?包含或排除它的良好做法?
    • 据我所知,@Raekye HTML5(此时真的应该称为“HTML”)没有 任何 必需的属性。 XHTML 已死(此时)
    • 啊,我也不知道。但是,呃,它是可选的,但你会说包括还是不包括?为什么这样?就像我猜我应该包含 rel 标签(浏览器可以从服务器中找出 mime 类型是什么,并且只能猜测 rel 标签应该是什么)
    • @Raekye - XHTML5 is live and kicking.。 Crockford 的信息已过时; XHTML5 中不需要 type 属性。
    • @ExplosionPills - 关于默认类型的规范中有一条更好的线。在4.12.5.11 Link type "stylesheet" 下,它显示“样式表关键字给出的资源的默认类型是 text/css。”。这与图标链接类型相反,它说“图标关键字给出的资源没有默认类型。但是,为了确定资源的类型,用户代理必须期望资源是图像。”
    【解决方案2】:

    当您使用 JavaScript 和 CSS 时(几乎总是如此),没有实际理由在 script 或 link 元素中使用 type 属性。但是,如果您有符合 HTML 4.01 规范的外部要求,请在 script 中使用 type="text/javascript",并仔细检查您输入的内容是否正确。

    这些属性从来都不需要(对于 JavaScript 和 CSS),但如果你拼错它们,它们会伤害你。然后浏览器会认为你的脚本在 text/javascript 或者你的样式表在 text/ccs 并忽略它,因为他们不知道这些语言。

    在script 元素中,仅当内容不是 被解释为JavaScript 时,您才需要type 属性,但例如作为 VBScript 或根本不解释,只是存储为数据。

    【讨论】:

      猜你喜欢
      • 2015-11-25
      • 1970-01-01
      • 2011-01-07
      • 2013-02-06
      • 2021-11-25
      • 1970-01-01
      • 2011-03-17
      • 2014-04-15
      • 2013-04-29
      相关资源
      最近更新 更多