9

您将看到许多具有以下代码类型的站点:

脚本元素:

<script type="text/javascript">
   //javascript here
</script>

链接元素:

<link rel="stylesheet" href="url.css" type="text/css" media="all" />

风格元素:

<style type="text/css">
   /* CSS */
</style>

我的问题是这样的:

type当今流行的浏览器是否需要这些属性?

(通俗的意思是 IE 8+、Firefox、Webkit、Opera 和 Chrome)

如果包括它们会怎样?

注意:如果两者之间的行为存在差异,则答案需要涵盖 HTML5 和 XHTML 文档类型。

4

4 回答 4

8

简而言之,它们从HTML5开始就不是必需的,但HTML4/XHTML中的W3C标准要求它们。


在标签的HTML5 typescript

type - 此属性标识嵌入在脚本元素中或通过元素的 src 属性引用的代码的脚本语言。这被指定为 MIME 类型;支持的 MIME 类型的示例包括 text/javascript、text/ecmascript、application/javascript 和 application/ecmascript。如果此属性不存在,则脚本将被视为 JavaScript。

HTML4XHTML中,它是W3C 标准所要求的。

对于stylelink type

HTML5中,不再需要 type 属性。默认值为“文本/css”。

于 2012-09-28T06:02:08.330 回答
4

简短的回答

不,他们不是。

长答案

长期以来,浏览器type=text/javascript在脚本元素等处设置默认值。当您省略该type属性时。HTML5 使这成为官方的,但很久以前每个浏览器都支持它。

事实上,您使用的文档类型不会影响浏览器的行为,只会影响 W3C 规范。漂亮而简短的 HTML5 文档类型是多年来在普通浏览器中的标准文档类型。HTML5 只是让这些美好的事物正式化。

所以你可以使用它,没有浏览器会尖叫或失败,只有验证器。

于 2012-09-28T06:06:34.023 回答
1

在较新的浏览器(支持 HTML5)中,类型属性是可选的,如果没有给出它,sctipt将默认理解为 text/javascript,样式将理解为 text/css

于 2012-09-28T06:03:17.133 回答
1

它们目前不是必需的。因为所有浏览器都假定您期望的默认值。

但它们在未来可能会变得重要。

例如,当Google Dart完全集成到浏览器中时,我们终于有了 JavaScript 的替代方案。同样,一旦有人提出了一个很好的 CSS 替代品,我们需要它。Dart 很可能会变成“JavaScript 2.0”。JavaScript 是一种混蛋语言,肯定需要一个更理智的替代品。我想我们都只是在使用它,因为没有替代品可以跨浏览器工作(事实上,甚至没有一个可以在单个浏览器中工作的替代品,我猜......)。

因此,如果您计划您的网站使用一年:不要打扰。如果您计划让网站运行 10 年,请尽量详细说明您的内容类型、格式和版本。

于 2012-09-28T06:30:17.350 回答