Lok Jun
Lok Jun

Reputation: 1333

<script> tag vs <script type = 'text/javascript'> tag

I was just wondering, what is the difference between

<script>

and

<script type = 'text/javascript'>

Is it different for different webservers?

For example,(I know it's incorrect to provide a link from w3schools, but look)

http://www.w3schools.com/js/tryit.asp?filename=tryjs_myfirst

Using chrome, I visited w3schools and I realised that the <script> tag is all I need.

However, when I did an offline javascript test, i realised that i need the

<script type = 'text/javascript'>

tag. Why is this so?

Upvotes: 103

Views: 142454

Answers (5)

Mohsin Saeed
Mohsin Saeed

Reputation: 93

You only need <script></script> Tag that's it. <script type="text/javascript"></script> is not a valid HTML tag, so for best SEO practice use <script></script>

Upvotes: -4

Just code
Just code

Reputation: 13801

In HTML 4, the type attribute is required. In my experience, all browsers will default to text/javascript if it is absent, but that behaviour is not defined anywhere. While you can in theory leave it out and assume it will be interpreted as JavaScript, it's invalid HTML, so why not add it.

In HTML 5, the type attribute is optional and defaults to text/javascript

Use <script type="text/javascript"> or simply <script> (if omitted, the type is the same). Do not use <script language="JavaScript">; the language attribute is deprecated

Ref :
http://social.msdn.microsoft.com/Forums/vstudio/en-US/65aaf5f3-09db-4f7e-a32d-d53e9720ad4c/script-languagejavascript-or-script-typetextjavascript-?forum=netfxjscript
and
Difference between <script> tag with type and <script> without type?

Do you need type attribute at all?

I am using HTML5- No

I am not using HTML5 - Yes

Upvotes: 92

Krish R
Krish R

Reputation: 22711

<!-- HTML4 and (x)HTML -->
<script type="text/javascript"></script>


<!-- HTML5 -->
<script></script>

type attribute identifies the scripting language of code embedded within a script element or referenced via the element’s src attribute. This is specified as a MIME type; examples of supported MIME types include text/javascript, text/ecmascript, application/javascript, and application/ecmascript. If this attribute is absent, the script is treated as JavaScript.

Ref: https://developer.mozilla.org/en/docs/Web/HTML/Element/script

Upvotes: 6

Zaheer Ahmed
Zaheer Ahmed

Reputation: 28528

Douglas Crockford says:

type="text/javascript"

This attribute is optional. Since Netscape 2, the default programming language in all browsers has been JavaScript. In XHTML, this attribute is required and unnecessary. In HTML, it is better to leave it out. The browser knows what to do.

In HTML 4.01 and XHTML 1(.1), the type attribute for <script> elements is required.

Upvotes: 13

Quentin
Quentin

Reputation: 943193

<script> is HTML 5.

<script type='text/javascript'> is HTML 4.x (and XHTML 1.x).

<script language="javascript"> is HTML 3.2.

Is it different for different webservers?

No.

when I did an offline javascript test, i realised that i need the <script type = 'text/javascript'> tag.

That isn't the case. Something else must have been wrong with your test case.

Upvotes: 30

Related Questions