<script>标签与类型和<script>没有类型?</script>之间的区别

时间:2012-03-11 21:26:34

标签: javascript html

  

可能重复:
  Should I include type=“text/javascript” in my SCRIPT tags?

我正在编写HTML并发现即使脚本标记中的类型未设置为javascript,仍然可以评估标记中的javascript代码。

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

5 个答案:

答案 0 :(得分:19)

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

在HTML 5中,type属性是可选的,defaults to text/javascript

  

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

答案 1 :(得分:2)

<强>型

  

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

MDN docs

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

关闭“类型”会导致某些浏览器出错。