【问题标题】:Not stating the script language when using Javascript [duplicate]使用 Javascript 时未说明脚本语言 [重复]
【发布时间】:2012-03-08 23:51:22
【问题描述】:

可能重复:
HTML Script tag: type or language?

网页浏览器遇到时性能有什么区别吗

<script language="JavaScript" type="text/javascript">

相对

<script>

他们似乎都在做同样的事情。

【问题讨论】:

  • 第一个性能更差,因为要下载的字符更多。 language 属性已弃用。 type 属性在 html4 标准下是必需的,尽管大多数(所有?)浏览器似乎可以在没有它的情况下正常处理。 type 属性在 html5 中是可选的。
  • 我认为 (X)HTML 文档类型至少需要 type 属性。
  • 我会参考Douglas Crockfordtype="text/javascript" - 此属性是可选的。从 Netscape 2 开始,所有浏览器的默认编程语言都是 JavaScript。在 XHTML 中,这个属性是必需的,也是不必要的。在 HTML 中,最好将其省略。浏览器知道该做什么。

标签: javascript html performance syntax cross-browser


【解决方案1】:

Firefox 中,language 已被弃用(因此您根本不应该使用它),如果您不指定 type,它将被假定为 JavaScript。

类型

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

语言 已弃用

与 type 属性一样,此属性标识正在使用的脚本语言。然而,与 type 属性不同的是,该属性的 可能的值从未标准化。 类型属性应该是 改为使用。

建议似乎是包含type,但我怀疑它对性能有任何影响,因为 JavaScript 是唯一受支持的类型。不过,它可能会将某些浏览器置于怪异模式,这将是非常糟糕的。

【讨论】:

  • “在 Firefox 中”?一般在html4中...
  • @nnnnnn 我以 Firefox 为例,因为它有文档描述了它在这种情况下的行为。我试图为 IE 找到类似的东西,但找不到。
  • 实际上,您链接到的 MDN 文档并不特定于 Firefox。它确实涵盖了 Firefox 特定的功能,但它们将被明确标记为这样。该页面上的“规范性文档”链接指向支持的 w3c html5 和 html4 标准。
【解决方案2】:

根据 W3C 建议,类型是必填字段: http://www.w3.org/TR/html4/interact/scripts.html

【讨论】:

  • 对于 HTML4 和 XHTML 是必需的,但明确 不是对于 HTML5 是必需的。
  • @pointy-但 HTML5 不是 W3C 标准。 ;-) 没有人提到虽然 HTML 4 说需要类型,但 text/javascript 的常用值已过时,应使用 application/javascript 来严格遵守标准。但是,使用后一个值将导致脚本无法在某些(可能很多)浏览器中执行。所以text/javascript 继续被使用,打破了一个验证要求来满足另一个。实际上,除了极少数情况外,不需要 type 属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多