当服务器设置了哑剧类型时,为什么还要写<script type =

我的理解是,MIME类型是由Web服务器设置的。为什么要添加type="text/javascriptor type="text/css"属性?这不是一个无用且被忽略的属性吗?



陪伴而非守候
浏览 489回答 3
3回答

哆啦的时光机

道格拉斯·克罗克福德说:type="text/javascript"此属性是可选的。从Netscape 2开始,所有浏览器中的默认编程语言都是JavaScript。在XHTML中,此属性是必需的,也是不必要的。在HTML中,最好将其省略。浏览器知道该怎么做。他还说:W3C没有采用该language 属性,而是偏向type 采用MIME类型的属性。不幸的是,MIME类型不规范,所以有时候 "text/javascript"还是 "application/ecmascript"或别的东西。幸运的是,所有浏览器将始终选择JavaScript作为默认编程语言,因此,最好始终简单地编写<script>。它是最小的,并且可以在大多数浏览器上使用。仅出于娱乐目的,我尝试了以下五个脚本&nbsp; <script type="application/ecmascript">alert("1");</script>&nbsp; <script type="text/javascript">alert("2");</script>&nbsp; <script type="baloney">alert("3");</script>&nbsp; <script type="">alert("4");</script>&nbsp; <script >alert("5");</script>在Chrome浏览器上,脚本3(type="baloney")以外的所有代码均有效。IE8没有运行脚本1(type="application/ecmascript")或脚本3。根据我对两个浏览器的非广泛示例,您似乎可以放心地忽略该type属性,但是使用它时,最好使用一个合法的值(与浏览器相关)。

慕婉清6462132

因为至少在HTML 4.01和XHTML 1(.1)中,元素的type属性<script>是必需的。在HTML 5中,type不再需要。实际上,尽管您应该text/javascript在HTML源代码中使用,但许多服务器都会使用发送文件Content-type: application/javascript。在RFC 4329中阅读有关这些MIME类型的更多信息。请注意RFC 4329之间的区别,RFC 4329被标记text/javascript为过时并建议使用application/javascript,并且现实中某些浏览器对<script>包含元素的元素type="application/javascript"(在HTML源代码中,不是要发送的文件的HTTP Content-type标头)表现出狂热。最近,在WHATWG邮件列表中有关于此差异的讨论(HTML 5的type默认值为text/javascript),请阅读以下主题为主题的消息,您会考虑使用RFC 4329吗?
打开App,查看更多内容
随时随地看视频慕课网APP