Ricket
Ricket

Reputation: 34057

HTML Script tag: type or language (or omit both)?

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

vs.

<script language="Javascript">
    /* ... */
</script>

Which should be used and why?

Or, the third alternative: omitting either of these, such as the example code in jQuery's API reference:

<script src="http://code.jquery.com/jquery-latest.js"></script>

Upvotes: 175

Views: 124708

Answers (3)

Matchu
Matchu

Reputation: 85794

The language attribute has been deprecated for a long time, and should not be used.

When W3C was working on HTML5, they discovered all browsers have "text/javascript" as the default script type, so they standardized it to be the default value. Hence, you don't need type either.

For pages in XHTML 1.0 or HTML 4.01 omitting type is considered invalid. Try validating the following:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="http://example.com/test.js"></script>
</head>
<body/>
</html>

You will be informed of the following error:

Line 4, Column 41: required attribute "type" not specified

So if you're a fan of standards, use it. It should have no practical effect, but, when in doubt, may as well go by the spec.

Upvotes: 179

Ms2ger
Ms2ger

Reputation: 15983

HTML4/XHTML1 requires

<script type="...">...</script>

HTML5 faces the fact that there is only one scripting language on the web, and allows

<script>...</script>

The latter works in any browser that supports scripting (NN2+).

Upvotes: 41

JasCav
JasCav

Reputation: 34632

The type attribute is used to define the MIME type within the HTML document. Depending on what DOCTYPE you use, the type value is required in order to validate the HTML document.

The language attribute lets the browser know what language you are using (Javascript vs. VBScript) but is not necessarily essential and, IIRC, has been deprecated.

Upvotes: 2

Related Questions