5

What is the difference between:

  1. < script language="javascript" type="text/javascript">< /script>

  2. < script type="text/javascript">< /script>

  3. < script language="javascript">< /script>

asked Jun 3, 2010 at 5:08
2

3 Answers 3

7

All of them are technically deprecated, but the second annoys people least. :)

Both language (see W3C XHTML 1.1) and text/javascript are deprecated (see MIME registry for text). The recommended mime type is application/javascript, but this is not backwards-compatible.

answered Jun 3, 2010 at 5:09
Sign up to request clarification or add additional context in comments.

Comments

6

Number 2 is the best you can do for now and for the foreseeable future.

First, the language attribute is deprecated in the HTML 4.01 specification and the draft HTML 5 specification, and omitted from XHTML 1.0 Strict, so options 1 and 3 are out.

Second, do you need a type attribute at all? Yes. HTML 4.01 and XHTML 1.0 specifies the type attribute as required while HTML5 has it as optional, defaulting to text/javascript. Therefore until HTML5 is finalised and widely implemented, you must have the type attribute if you want your HTML to be valid, which rules out the simple <script></script> (I know this wasn't one of the original options, but it's something that I have seen recommended).

Thirdly, what should go in the type attribute? As noted by Matthew Flaschen, the MIME type application/javascript registered in 2006 is intended to replace text/javascript. A quote from the relevant RFC:

This document thus defines text/javascript and text/ecmascript but marks them as "obsolete". Use of experimental and unregistered media types, as listed in part above, is discouraged. The media types,

 * application/javascript
 * application/ecmascript

which are also defined in this document, are intended for common use and should be used instead.

However, IE (up to and including version 8) doesn't execute script inside a <script> element with a type attribute of either application/javascript or application/ecmascript, so these are both unusable for the foreseeable future and we're stuck with text/javascript.

answered Jun 3, 2010 at 8:55

Comments

3
<script language="javascript" type="text/javascript"></script>

HTML 4.01 / XHTML 1.0 Transitional with deprecated language attribute

<script type="text/javascript"></script>

HTML 4.01 / XHTML 1.0 Strict (or Transitional without deprecated language attribute)

<script language="javascript"></script>

HTML 3.2

answered Jun 3, 2010 at 8:58

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.