【问题标题】:Syntax to declare JS scripts声明 JS 脚本的语法
【发布时间】:2010-09-12 01:35:04
【问题描述】:

我不确定用

打开 JS 脚本有什么区别
<SCRIPT language='JavaScript'>

或与:

<SCRIPT type="text/JavaScript">

是否应该始终引用 JavaScript(用“”或“'”)或者这并不重要?

感谢您对此主题的任何澄清!

【问题讨论】:

  • 正如几篇帖子所说,你可以只使用类型,但值应该完全小写:“text/javascript”

标签: javascript scripting


【解决方案1】:

在 HTML 3.2 中使用了语言属性。 HTML 4.0 引入了类型(这与引用外部媒体的其他元素一致,例如&lt;style&gt;)并使其成为必需。它也是deprecated语言。

使用type。不要使用language

在 HTML(和 XHTML)中,attribute values delimited using single or double quotes 之间没有区别(除非您不能使用用于分隔值内部的字符而不用实体表示它)。

【讨论】:

    【解决方案2】:

    使用外部 JavaScript 文件时不需要 type 和 language 属性:

    <script src="script.js" />
    

    您的浏览器会根据文件的扩展名自动确定要执行的操作。不过,在执行脚本块时,您需要 type="text/javascript"。

    编辑:

    有些人可能会说这很糟糕,但这实际上是 Yahoo! 的话。网站负载性能方面的 JavaScript 传播者(我认为是 Douglas Crockford)。

    也许我应该详细说明一下。

    Google 是在不破坏其网站呈现的情况下打破标准的一个很好的例子。 (他们现在遵守 W3C 标准,使用 JavaScript 来呈现他们的页面)。由于网站负载过重,他们决定将标记减少到最低限度,并使用像可怕的 fonti 标签这样的贬值标签。

    务实并没有什么坏处。当然,在合理范围内:)

    【讨论】:

      【解决方案3】:

      所有东西请参考至尊神Douglas Crockford's Javascript Code Conventions Javascript:

      JavaScript 文件

      应存储 JavaScript 程序 并以 .js 文件的形式交付。

      不应嵌入 JavaScript 代码 在 HTML 文件中,除非代码是 特定于单个会话。代码在 HTML 显着增加了页面重量 没有机会缓解 缓存和压缩。

      【讨论】:

      • “至高无上的神”在无缘无故地告诉您编写无效的 HTML。规范是这里的权威,而不是一个人。
      • 没有规范,只有建议,因此它们不是全部真相。此外,谁在乎有效的 HTML?使用有效的方法。道格拉斯·克罗克福德知道什么是有效的。
      • 我认为您对规范是什么感到困惑。 W3C 发布的建议规范。例如,看一下 HTML 4.01 推荐。标题是什么? “HTML 4.01 规范”。
      • 谁在乎有效的 HTML?使用验证器是发现错误的好方法,并且可以在您尝试调试某些东西时节省大量时间。如果您有几十个您认为无关紧要的错误,则更难找出您认为确实重要的错误。
      • 最后,请不要再成为 Crockford 的粉丝,自己想想吧。
      【解决方案4】:

      您应该始终用引号 (") 将属性值括起来。不要使用撇号 (')。

      编辑:让意见在这里听起来像是事实,我的错。单引号在技术上是合法的,但根据我的经验,它们往往比双引号导致更多的问题(它们往往会更频繁地出现在属性值中)所以我总是建议坚持使用后者。不过,您的里程可能会有所不同!

      【讨论】:

      • 为澄清而编辑的帖子
      【解决方案5】:

      根据W3 HTML 4.01 reference,只需要类型属性。 langage 属性不是参考的一部分,但我认为它来自微软与 Netscape 的较早时期。

      此外,简单的引号在 XHTML 1.0 中无效(解析更加严格)。 这可能不是问题,但您现在应该总是比validate your html(HTML 4.01 或 XHTML 1.0)更好。

      【讨论】:

      • “简单引号在 XHTML 中无效”——这不是真的。您必须始终引用属性值,但您可以使用单引号或双引号。
      【解决方案6】:

      旧版浏览器仅支持语言 - 现在使用 text/javascript 的 mimetype 的 type 方法是正确的方法。

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

      用于支持旧浏览器以及使用正确的方式。

      <style type="text/css">
      

      是使用正确标准包含某些内容(样式表)的另一个示例。

      【讨论】:

      • 旧浏览器是指不支持 html4 的浏览器。您不应考虑使用此类浏览器,除非在非常特殊的情况下。
      • 是的,我同意 - 现在回到这一点,我知道更多我不会指定语言。事实上,使用 HTML5,我什至不会指定类型,因为它被假定为 text/javascript。
      【解决方案7】:

      同时使用:

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

      【讨论】:

      • 它们有什么区别?
      • 在严格文档中使用语言属性是不正确的。仅使用类型。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 2021-12-20
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多