【问题标题】:language="javascript" vs. type="text/javascript"语言=“javascript”与类型=“文本/javascript”
【发布时间】:2013-04-12 15:54:00
【问题描述】:

为了将 JavaScript 添加到 HTML,我看到人们使用

<script language=javascript>

<script type="text/javascript">

脚本是嵌入的还是外部的似乎不会影响这个决定。

首选哪一个,为什么?

【问题讨论】:

标签: javascript html


【解决方案1】:

&lt;script language="javascript"&gt; 曾在非常旧的浏览器中使用,现已弃用。

&lt;script type="text/javascript"&gt; 是 HTML 4 标准。

在 HTML 5 中,type 参数是可选的(text/javascript 是默认值),因此您可以使用 &lt;script&gt;

作为一个巧妙的技巧,如果您输入无效的type,脚本将不会运行,但您仍然可以在 JavaScript 中读取数据。一些模板库会这样做。

【讨论】:

  • 雅虎混合使用
  • @Foo:您仍然可以使用已弃用的功能并混合标准。 这不是好的做法,并且不是有效的 HTML,但大多数浏览器都会运行它。
  • @RocketHazmat 如果没有关于此事的可靠来源,我不会相信每个浏览器都会避免尝试运行脚本块,因为它具有奇怪的类型属性集。即使它确实有效,我仍然认为“可怕”会比“整洁”更好;-)
  • @eBusiness:很公平。我刚刚看到它完成了,并认为它很好。我可以检查一下规范是怎么说的^_^
  • 今天,在网页中嵌入 schema.org 元数据的推荐方法是在带有 type="application/ld+json" 的脚本标签中嵌入 JSON 片段。所以我想说我们现在可以相信浏览器不会运行它是省事的,因为它以这种方式嵌入到数百万个网站中。
【解决方案2】:

language attribute is deprecated。仅使用 type。您不需要在 HTML5 中指定 type,默认情况下它是 javascript。

【讨论】:

  • 在 HTML 5 中,您甚至不需要 type!只是&lt;script&gt; :-)
  • @AgustinMeriles 在 HMTL 中有效。只是不在 XHTML 中。
  • 谢谢@Christoph,不知道
  • @Christoph - 除非此人使用 XML,否则我认为他们是安全的。
  • 如果他们使用浏览器,他们是安全的。只需将您的 XHTML 文档类型粘贴在您极其无效的 HTML 上,它的工作原理或多或少还是一样的。浏览器可能会切换到一些非标准模式,但我认为即使这样也或多或少已经被淘汰了。无论如何,浏览器总是只真正使用一个解析器/渲染引擎,这只是支持一些“标准模式/怪癖模式”切换,就是这样。 XHTML 只是从未真正通过 W3C 验证器。
猜你喜欢
  • 2010-11-01
  • 2021-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多