我见过这两个:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
和此:
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js'></script>
type属性是否有任何影响?
答案 0 :(得分:121)
对于 HTML 4.x ,type
属性必需。 (W3):
此属性指定元素内容的脚本语言,并覆盖默认脚本语言。脚本语言被指定为内容类型(例如,“text / javascript”)。作者必须为此属性提供值。此属性没有默认值。
HTML 5 ,可选。如果未指定,则默认为text/javascript
。 (W3):
type属性提供脚本的语言或数据的格式。如果该属性存在,则其值必须是有效的MIME类型。不得指定charset参数。如果属性不存在,则使用默认值“text / javascript”。
答案 1 :(得分:94)
您不需要type
属性,但在HTML&lt; = 4和(X)HTML中应该声明
答案 2 :(得分:6)
出于测试目的,它将无效,但W3C要求它正确验证。 HTML 5草案并没有要求它作为一项要求,但在W3C仍然是草案形式,他们不推荐它。
任何重要的浏览器都会解析它。
答案 3 :(得分:6)
不,标签中不需要'type'属性。除非您希望代码验证。
我们多年来一直在工作中省略它,它从来都不是问题。我们在多个设备,浏览器等方面进行了大量测试。这包括各种HTML4&amp; XHTML doctypes。
我创建了这个小页面,用于在github上进行测试: http://kenshub.github.io/script-type.html
答案 4 :(得分:5)
答案 5 :(得分:4)
HTML 5.2标准(2017年末)说你应该省略type属性。
type属性允许自定义表示的脚本类型:
省略属性或将其设置为JavaScript MIME类型意味着该脚本是经典脚本,需要根据JavaScript脚本顶级生产进行解释。经典脚本受charset,async和defer属性的影响。 作者应省略属性,而不是冗余地提供JavaScript MIME类型。
(强调我的。)
来源:https://www.w3.org/TR/html52/semantics-scripting.html#element-attrdef-script-type
答案 6 :(得分:1)
type属性在HTML4.01中是必需的,但在HTML5中是可选的。 该类型显示要解析的类型。
注意:如果type属性是音频,HTML,视频或JavaScript以外的任何MIME类型,则将不会执行代码。
答案 7 :(得分:0)
尽管类型属性不是必需的,但在大多数情况下很有用。 IE可以正常工作,但是chrome和FF有时会引起问题,尤其是在脚本较大的情况下。 我在plotly js库上工作时遇到type属性问题。如果没有type属性,IE只能显示FF,Chrome和edge的图形。添加类型属性chrome和FF后,便可以显示图表/图形