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

JavascriptHtml

Javascript Problem Overview


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?

Javascript Solutions


Solution 1 - Javascript

> 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
https://stackoverflow.com/questions/9659029/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

Solution 2 - Javascript

<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.

Solution 3 - Javascript

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.

Solution 4 - Javascript

<!-- 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

Solution 5 - Javascript

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>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionNeo Lok JunView Question on Stackoverflow
Solution 1 - JavascriptJust codeView Answer on Stackoverflow
Solution 2 - JavascriptQuentinView Answer on Stackoverflow
Solution 3 - JavascriptZaheer AhmedView Answer on Stackoverflow
Solution 4 - JavascriptKrish RView Answer on Stackoverflow
Solution 5 - JavascriptMohsin SaeedView Answer on Stackoverflow