Quale è migliore o più comodo da usare:Che è meglio: <script type = "text/javascript"> ...</script> o <script> ...</script>
<script type="text/javascript">...</script>
o
<script>...</script>
Quale è migliore o più comodo da usare:Che è meglio: <script type = "text/javascript"> ...</script> o <script> ...</script>
<script type="text/javascript">...</script>
o
<script>...</script>
Avete bisogno di un attributo del tipo a tutti? Se utilizzi HTML5, no. Altrimenti, sì. HTML 4.01 e XHTML 1.0 specifica l'attributo type
come richiesto mentre HTML5 lo ha come facoltativo, con valore predefinito a text/javascript
. HTML5 è ora ampiamente implementato, quindi se si utilizza il doctype HTML5, <script>...</script>
è valido e una buona scelta.
Per quanto riguarda l'attributo type, il tipo MIME application/javascript
registrato nel 2006 è destinato a sostituire text/javascript
ed è supportato dalle versioni correnti di tutti i principali browser (incluso Internet Explorer 9). Una citazione da the relevant RFC:
Questo documento definisce così text/javascript e testo/ECMAScript, ma li contrassegna come "obsoleti". L'uso di tipi di media sperimentali e non registrati, come elencato nella parte precedente, è sconsigliato. I tipi di file,
* application/javascript * application/ecmascript
che sono anche definiti in questo documento, sono destinati all'uso comune e devono essere utilizzati al suo posto.
Tuttavia, IE fino ae includendo la versione 8 non esegue lo script all'interno di un elemento con un attributo <script>
type
di una application/javascript
o application/ecmascript
, quindi se avete bisogno di sostenere vecchio IE, sei bloccato con text/javascript
.
Non hai "bisogno" dell'attributo 'type'. Convalidare contro HTML4.01 o XHTML 1.0 non è più quello che dovresti fare in ogni caso, e tutti i browser supporteranno il tuo tag senza 'text/javascript' –
@Ian: Al momento della stesura, la specifica HTML5 era una bozza funzionante e aveva non ancora trasformato nel suo stato attuale di bersaglio in perpetuo movimento. Le implementazioni del browser di HTML5 erano un notevole passo indietro rispetto a dove si trovano ora. Considerando questo, penso che HTML5 all'epoca non fosse utilizzabile sul Web generale e la mia risposta era assolutamente giusta e portavo sempre la dichiarazione di non responsabilità * "se vuoi che il tuo codice HTML sia valido" *. Sono d'accordo sul fatto che le cose siano andate avanti e questa risposta potrebbe fare con la revisione, ma non sono d'accordo sul fatto che scrivere pagine web in HTML 4.01 sia sempre la cosa sbagliata da fare. –
+1, ho appena scoperto questa domanda da un dupe. Mi ricorda [diversi post] (http://www.google.co.uk/search?rlz=1C1SVEA_enGB358GB358&gcx=c&sourceid=chrome&ie=UTF-8&q=anne+van+kesteren+script+type) sul blog di Anne Van Kesteren , incluso [tipo MIME JavaScript] (http://annevankesteren.nl/2005/02/javascript-mime-type), di cui discute questo. Non riesco a trovarlo, ma ero sicuro che ci fosse un post in cui raccomandava di non usare 'type' perché funziona su tutti i browser. Forse era qualcun altro. –
Entrambi funzioneranno ma standard XHTML richiede di specificare il type
troppo:
<script type="text/javascript">..</script>
<!ELEMENT SCRIPT - - %Script; -- script statements -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #REQUIRED -- content type of script language --
src %URI; #IMPLIED -- URI for an external script --
defer (defer) #IMPLIED -- UA may defer execution of script --
>
type = content-type [CI] Questo attributo specifica il linguaggio di scripting di contenuto dell'elemento e sovrascrive il linguaggio di script predefinito . La lingua dello script viene specificata come tipo di contenuto (ad es. "Testo/javascript"). Gli autori devono fornire un valore per questo attributo . Non esiste alcun valore predefinito per questo attributo.
Rileva l'enfasi sopra.
http://www.w3.org/TR/html4/interact/scripts.html
Nota: Come di HTML5 (lontano), l'attributo type
non è richiesto ed è di default.
È necessario utilizzare <script type="text/javascript"> </script>
a meno che non si utilizzi html5. In questo caso si consiglia di preferire <script> ... </script>
(perché attributo type è specificato per impostazione predefinita per tale valore)
<script type="text/javascript"></script>
perché è la strada giusta e compatibile con tutti i browser
Questo è tutto ciò che è necessario:
<!doctype html>
<script src="/path.js"></script>
Con l'ultima Firefox, devo usare:
<script type="text/javascript">...</script>
Oppure lo script potrebbe non funzionare correttamente.
Se si utilizza javascript come lingua, ovviamente il primo è il migliore –
Sto indovinando il guadagno di prestazioni ottenuto dal dichiarare lo script come java-script è insignificante, ma ottima domanda! –
La risposta "corretta" è diversa se si utilizza Html v4 e Html v5? –