<script> tag vs <script type = 'text/javascript'> tag
JavascriptHtmlJavascript 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
>
> 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>