代码之家  ›  专栏  ›  技术社区  ›  peirix

我应该在脚本标记中包含type=“text/javascript”吗?

  •  15
  • peirix  · 技术社区  · 15 年前

    我读完了 Crockford's JavaScript best practise 他说:

    不需要使用语言或类型属性。决定mime类型的是服务器,而不是脚本标记。

    但我从未见过有人遗漏 type 他们的属性 <script> 标签…

    你们包括吗 类型 ?为什么(不)?

    6 回复  |  直到 11 年前
        1
  •  10
  •   Ionuț G. Stan    15 年前

    你误解了克罗克福德的意思,他没有说 type 属性完全无效,只是它不正确。javascript的mime类型是 application/javascript (或) application/ecmascript 我现在记不起来了)。

    一般的用法是 text/javascript 哪些浏览器可以毫无问题地处理 事实上的 长期保持标准。

    关于 <script src="..." 标记它是多余的,因为服务器确定文件的mime类型,这就是浏览器随后要处理的问题。

    他在尤伊剧院的一个视频中解释得最好。( http://developer.yahoo.com/yui/theater/ )我不记得他具体说的是哪一个,我认为这是在高级JavaScript系列中(但是的,我看过他们好几次,所以他们有点模糊不清)。

    因此,如果您想编写有效的XHTML,您需要提供 文本/ JavaScript 但这不是 官方的 javascript语言的mime类型。

        2
  •  8
  •   Diodeus - James MacFarlane    15 年前

    如果脚本嵌入到页面中,那么crockford的建议是不相关的。

    如果您想编写符合标准的HTML,那么它仍然是不相关的。

    他通常关注与JavaScript有关的所有事情,所以他可能只是给你一些背景信息,而不是告诉你该怎么做。

    跟踪链接后,那个页面显示的是它的年龄。例如:

    <script src=filename.js> 标签应该 在体内放置的最晚时间为 可能的。这减少了 脚本加载导致的延迟 其他页面组件。

    “现代”方法是在文档加载后使用jquery(或类似样式)执行处理,这将自动解决该问题,允许您将脚本标记放在逻辑意义上的任何地方。

        3
  •  5
  •   mlibby    11 年前

    HTML5规范表示默认 type text/javascript …因此,在HTML5中,您可以在所有情况下将此项留空,实际上,您都是用JavaScript编写脚本的。见 the spec 更多信息。

    在HTML4中 类型 属性是 required ,因此在这种情况下,如果您担心拥有“有效”的HTML,那么应该包括它,显然,如果crockford表示不需要该属性,那么在这种情况下,无效的HTML没有明显的缺点。

        4
  •  4
  •   Blixt    15 年前

    我用 type 属性,因为它是有效HTML所必需的。但实际上,这毫无意义。

        5
  •  2
  •   Keeper    15 年前

    HTML和XHTML验证需要type属性,因此我总是编写它

        6
  •  0
  •   thomasbabuj    15 年前

    我还将使用type属性,因为在Firefox中,有时JavaScript代码不起作用。通过使用它,我解决了一些浏览器兼容性问题。