2009-05-22 14 views

risposta

50

Se l'attributo async si trova su uno script esterno (uno con src =), i browser che supportano verrà scaricato lo script in background senza bloccare il resto del contenuto della pagina. Lo script verrà eseguito ogni volta che viene scaricato.

http://dev.w3.org/html5/spec/Overview.html#attr-script-async

Come ho già detto in un commento, impostando async = true, async = false o asincrono = nulla tutti significano la stessa cosa. Abilitano il comportamento asincrono. L'unico modo per rendere uno script non asincrono è quello di omettere completamente l'attributo.

http://dev.w3.org/html5/spec/Overview.html#boolean-attributes

+4

Quindi non è necessario posizionare javascript in fondo alla pagina se ricordo di renderlo 'async', giusto? – satoru

8

In Valid è necessario da notare conseguenza attributi come attributi ei loro valori che HTML non. Mi piace la conformità di tale principio così ho sempre lo uso in forma di:

async="async" 

In questo modo posso servire i miei documenti come application/xhtml + xml.

Se questo non è di alcun interesse per voi, perché siete del parere che servire il documento come text/html è abbastanza buono, allora si può sempre utilizzare:

async 
+0

La tua risposta è informativa (riguardo i tipi doc/mime) ma non ha risolto la mia domanda effettiva: cosa fa l'attributo 'async'? –

+0

Mi dispiace che non ero in argomento. – JPA

+0

Async è un nuovo attributo HTML5 per l'elemento di script. Fa sì che il browser continui ad analizzare il resto della pagina quando trova un tag script invece di analizzare prima lo script e poi continua ad analizzare la pagina. Ho trovato un interessante tutorial su questo: http://www.youtube.com/watch?v=KHSeGURldw8 – JPA

1

Proprio asincrono a sufficienza.

Si può provare entrambi e quindi misurare la differenza nella velocità della pagina. Come lo crictime usa un'unica sostanza per quello.

+0

No, non è in tutti i casi. – JPA

+0

Nel caso di XHTML, servito come application/xml + xhtml, si tratta di un errore irreversibile e causa il blocco della pagina quando si nota un attributo simile. – JPA

2

significa semplicemente

  1. Scarica script esterno asyncronously (o in parallelo) senza bloccare il parsing del codice HTML.
  2. Lo script scaricato una volta sarà Eseguito immediatamente bloccando l'analisi html.


Here's una bella illustrazione.

Nota: Questo attributo funziona solo per gli script esterni (quello con l'attributo src) e non per gli script inline.