带类型的<脚本>标记和不带类型的<脚本>之间的区别

Difference between <script> tag with type and <script> without type?

本文关键字:脚本 类型 之间 区别      更新时间:2023-09-26

可能的重复项:
我应该在我的 SCRIPT 标签中包含 type="text/javascript" 吗?

我在写HTML时发现,即使脚本标签中的类型没有设置为javascript,标签中的javascript代码仍然可以被评估。

所以我只是想知道有类型的脚本标签和没有类型的脚本标签有什么区别?

在 HTML 4 中,type 属性是必需的。根据我的经验,如果不存在,所有浏览器都将默认为 text/javascript,但该行为并未在任何地方定义。虽然理论上你可以省略它并假设它会被解释为 JavaScript,但它是无效的 HTML,所以为什么不添加它。

在 HTML 5 中,type 属性是可选的,默认为 text/javascript

type 属性提供脚本的语言或数据的格式。如果该属性存在,则其值必须是有效的 MIME 类型。不得指定字符集参数。默认值(如果属性不存在则使用(是"text/javascript"。

大多数浏览器默认为 text/javascript ,但在设置类型时明确总是好的。

类型

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

MDN 文档

这取决于浏览器。 当浏览器曾经支持VBScript和Javascript(以及其他(时,这在很大程度上是历史性的。

关闭"type"可能会导致某些浏览器中出现错误。