2013-03-04 92 views
11

例如here代碼是這樣的:爲什麼jQuery樣本經常忽略腳本類型?

<html lang="en"> 
    <head> 
    <!-- whatever --> 
    <script> 
     $(function() { 
     $("#datepicker").datepicker(); 
     }); 
    </script> 
    </head> 
<!-- whatever --> 

注意<script>應載有type屬性(或者設置爲"text/javascript"),但它不存在這裏。

這不是我見過的唯一例子。這樣的代碼使Visual Studio編輯器不高興 - 它強調<script>並且說應該有一個type屬性。這也讓我好奇很大。

爲什麼type經常被忽略?如果我添加type="text/javascript"會發生什麼 - jQuery會打破什麼?

+0

您是否嘗試添加類型? – j0hnstew 2013-03-04 14:42:14

+3

大多數瀏覽器默認爲JavaScript,但您總是應該指定類型。 JS並不總是默認的。這是流行語的適應性語言du-jour,但明天其他一些語言可能會接管併成爲事實上的標準。 – 2013-03-04 14:42:24

+0

@stewbydoo問題是不是如何,這就是爲什麼 – 2013-03-04 14:42:46

回答

15

這可能是因爲HTML5 does not require a type attribute on <script> elements(它默認爲"text/javascript")。

+4

「text/javascript」是很多年的默認類型。不僅適用於HTML5。 – dfsq 2013-03-04 14:42:42

+4

@dfsq,好吧,'type'屬性[在HTML4中是必需的](http://www.w3.org/TR/REC-html40/interact/scripts.html#h-18.2.1),所以你沒有必須明確指定它。 – 2013-03-04 14:45:16

+2

沒錯。更好的說,即使沒有指定,該瀏覽器也會正確使用JavaScript作爲腳本語言。但是,如果它被省略,如果代碼不是HTML5文檔類型,它可能是無效的。 – dfsq 2013-03-04 14:48:12

2

type標籤是可選的。 所有瀏覽器中的默認編程語言都是JavaScript,所以它是默認的。在XHTML中,這個屬性是必需的和不必要的。在HTML中,最好不要使用它。

瀏覽器會知道它是Javascript。

1

Visual Studio中可能會不高興,因爲它的懶惰和需要解析內部script標籤和智能感知你的代碼必須工作一樣,所以它的更好,當你提供type直接而不是讓VS猜測你在用什麼語言,例如text/vbscript

您可以在Visual Studio下使用高級vb腳本編寫一些html頁面。 http://www.w3schools.com/vbscript/default.asp