繁体   English   中英

为什么 javascript 标签使用“文本”?

[英]Why do javascript tags use “text”?

每当我们编写 javascript 时,这就是我们声明的方式-

      <Script type="text/javascript"> 
      . . .
      . . .
      . . . </script>

但我不明白为什么它被声明为text

因为它是纯文本而不是图像/或应用程序/但是它可能必须是应用程序,但没有人使用它,IE 会失败

因为 text 和以前一样,如果我们更改它,某些浏览器会失败,所以您应该保留 text/javascript。 现在因为 HTML5 它被丢弃了,因为默认是 javascript,很多 SO 人主张简单地丢弃它。 这可能会在某些 DOCTYPES 中产生验证错误

<script>
alert("UNLESS this is IE and there is a VBScript as the first script on the page,"+
  "this WILL be JavaScript in all known browsers");
</script>

这也是不使用 onclick=" javascript: something()" 的一个很好的理由,除非您使用一些 IDE 并希望快速找到您的内联处理程序

脚本标签的 type 属性的 javascript MIME 类型是什么?

哪些链接到指定脚本语言

类型 = 内容类型:

此属性指定元素内容的脚本语言并覆盖默认脚本语言。 脚本语言被指定为内容类型(例如,“text/javascript”)。 作者必须为此属性提供一个值。 此属性没有默认值。

参考: w3

因为它是。 Javascript 来源是文本。 该谓词将确定数据的传输方式。 然后,文本的类型(Javascript 源代码)决定了它的使用方式。

出于遗留原因。 从技术上讲,我们应该使用application/javascriptapplication/ecmascript ,但没有人真正这样做。

type 属性标识<script></script>标记之间的内容。

MIME 类型由两部分组成:一种媒体类型和一种子类型。 对于 JavaScript,MIME 类型为“text/javascript”。

尽管正如 Douglas Crockford 所说的那样,将其排除在外

可能没有任何具体原因选择了文本类型:由于 JavaScript 是文本,他们选择了text

但是已知对此类内容使用文本类型是有问题的,因为换行符必须表示为 CRLF,反之亦然,并且假定charset参数的默认值是 US-ASCII (此外, HTTP 指定了 ISO 8859-1 作为默认字符集)。

这就是他们引入application/javascript作为 JavaScript 的 MIME 类型的原因

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM