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