Understanding MIME Types in Web Scripting
While web servers generally set MIME types, the question remains: Is the "type" attribute in script tags redundant?
The Role of the "type" Attribute
According to Douglas Crockford, the "type" attribute is optional. Netscape 2 introduced JavaScript as the default scripting language for browsers, making the attribute unnecessary. In XHTML, it's required but superfluous, and in HTML, it's best omitted.
However, the W3C opted for a "type" attribute that specifies a MIME type. Unfortunately, this type is not standardized and varies among "text/javascript," "application/ecmascript," and others. Fortunately, browsers default to JavaScript, making the attribute superfluous.
Experimentation with Different MIME Types
To demonstrate, a series of scripts with different MIME types were tested:
<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>
In Chrome, all scripts except those with type="baloney" ran successfully. IE8 failed to execute script 1 (type="application/ecmascript") and script 3.
Conclusion
Based on these limited tests, the "type" attribute appears to be largely unnecessary. However, if you choose to use it, be sure to specify a legal browser-dependent value. Ultimately, it's best practice to omit the attribute, as the browser will interpret the script correctly regardless.
The above is the detailed content of Is the \'type\' attribute in script tags really necessary in web scripting?. For more information, please follow other related articles on the PHP Chinese website!