对于HTML 标签,和<script>
之间的技术区别是什么?lang=Javascript
type=text/javascript
我通常同时使用这两种方法,因为我一直认为旧版浏览器需要其中一种。
根据HTML 4.01 规范:
type:此属性指定元素内容的脚本语言并覆盖默认脚本语言。脚本语言被指定为内容类型(例如,“text/javascript”)。作者必须为此属性提供一个值。此属性没有默认值。
语言:已弃用。此属性指定此元素内容的脚本语言。它的值是语言的标识符,但由于这些标识符不是标准的,因此该属性已被弃用,取而代之的是类型。
<script language="">
可用于提供 VBScript 和不同版本的 Javascript。
除非您需要特定版本的 Javascript,否则不要使用语言属性,没有它,您的代码仍然可以正常工作。
即使某些部分代码确实需要特定的 Javascript 版本,也请尝试使用 (typeof window.blah.feature != "undefined") 检查来测试该功能是否存在。
以下是语言属性用法的示例:http: //bclary.com/2004/08/27/javascript-version-incompatabilities
由于这种松散定义或不确定的行为,不推荐使用语言属性。
type 属性完全不同。它告诉浏览器脚本是什么 mime 类型,并且应该始终在脚本标签中指定。
OP特别说“语言”而不是“语言”。更老的“语言”标签应该是 Javascript 或 VBScript。
但是当前看似有效的“lang”标签实际上是英语、西班牙语、日语等书面语言。Microsoft 的 Visual Studio 为“lang”的值提供了一个下拉列表,它们都类似于 en-us、fr、ja 等。对于英语美国、法语、日语等......
我想如果你有一个复杂的多语言设置,使用这个标签可能有正当的理由——也许有一个内容管理系统可以支持这个,然后提供正确的 javascript 文件——比如 jQuery 控制资源?
语言是旧属性,类型是新属性。您必须使用过渡(不是积极的,但相当肯定)文档类型才能合法地使用这两个属性。
类型更笼统,指的是脚本块的 mime 编码。据我所知,您只需要一个,通常该块将在没有 type 或 lag 属性的情况下工作。
我倾向于使用类型。
lang 是脚本的语言,type 是脚本标签内容的 MIME 类型。
基本上,这两个属性都不是必需的。使用它们的唯一原因是验证,而这在HTML5中已失效。