你真的需要指定type属性吗?

Fél*_*lli 17 javascript css tags html5 mime-types

可能重复:
为什么在服务器设置mime类型时写<script type ="text/javascript">?

我不久前读了Dive到HTML5,最近又读了它的语义章节.我注意到它建议使用type="..."的属性scriptstyle,这是因为:

  • MIME类型应由服务器发送,
  • JS和CSS是默认值,
  • 浏览器不关心.

但是,我认为在两者和标签上包含type属性(或恐怖language)仍然是常见做法.假设服务器已正确配置为发送正确的MIME类型,是否有理由使用这些而非显式?scriptstyle

编辑:这是明确的HTML5,而不是XHTML.

Ode*_*ded 22

大多数人习惯于使用HTML 4/XHTML,之前type需要使用这些元素的属性.

关于HTML 5,这些确实是可选的,并且规范给出了默认值,具体取决于元素.

对于script标记,默认为text/javascript:

如果语言不是"text/javascript"所描述的语言,则必须存在type属性

对于style标记,默认为text/css:

如果缺少该属性,则使用type属性的默认值为"text/css".

所以,不需要,如你所说.但是,不能总是依赖浏览器支持和服务器设置 - 明确是一个好主意,因为它避免了这样的问题.

当然,并非所有浏览器都支持HTML 5 - 那些不会使用早期版本的属性是必需的,而你的javascript/css可能无法在这样的浏览器中解析,这意味着你最终没有CSS或javascript在较旧的浏览器上,当向后兼容性的简单解决方案是添加属性时.

  • @pst HTML5识别浏览器将使用HTML5解析,无论你有什么作为DOCTYPE [除了一个怪癖](http://hsivonen.iki.fi/last-html-quirk/),DOCTYPE只保留所以至于为CSS触发[标准模式](http://hsivonen.iki.fi/doctype/)(即,它与HTML5无关) (2认同)

Jam*_*xon 5

HTML5 可能不需要 type 属性,但其他 HTML 文档类型(例如 HTML 4.01 Strict)需要它。我还要说,任何让开发人员更清晰的代码/文档的事情真的只是一件好事。

如果这意味着明确说明所使用的脚本类型或样式类型,我会使用它。