2010-07-14 11 views
5

C'è mai un'istanza in cui qualcosa dovrebbe (o può?) Essere inserito tra il tag </body> e </html>? O dovrebbero essere sempre accoppiati?Dovrebbe mai esserci qualcosa tra il tag di fine</body> e il tag di fine</html>

Stavo leggendo le specifiche HTML5 e mi ha fatto pensare alla struttura di base di una pagina.

Esistono casi in cui qualcosa può/deve essere inserito dopo il tag </html>? Un tempo era gospel che i documenti iniziassero con il solo <html>, ma il <!doctype...> lo cambiava. Ci sarebbe mai una ragione per cambiarlo per la fine di un documento?

risposta

4

Il tag <body> è facoltativo poiché è possibile utilizzare il <frameset>. Pertanto, non sono sempre associati. Lo spazio bianco può esistere tra i tag. Inoltre, <body> può arrivare prima dello <head>.

Attualmente, qualsiasi cosa dopo un tag di chiusura </html> viene generalmente considerata come testo inline. Firefox e IE lo rendono entrambi.

Il Document Type Definitions (DTDs) di ogni stile contiene le risposte che si cercano.

0

No, non proprio. Non c'è motivo di mettere nulla dopo lo </html>. Dopo tutto, si sta definendo un documento html. DocType è stato introdotto a causa di incoerenze nel rendering del browser.

Come per il tag del corpo. Potrei un giorno vedere "piede" come un tag introdotto per abbinare la testa in alto. L'unica cosa che posso vedere per essere usato sarebbe javascript che viene caricato dopo il documento. In questo momento, è appena messo a posto prima della fine del tag del corpo.

0

Alcune persone amano mettere javascript per funzionare dopo che la pagina ha completato il caricamento nella parte inferiore della sezione del corpo o sotto il tag </body>. Davvero non c'è motivo di farlo se si utilizza jQuery, dal momento che la funzione $(document).ready() lo rende discutibile.

Tuttavia, non dovrebbero esserci tag strutturali, tuttavia JS dovrebbe essere nella sezione <head>.

+0

-1 per suggerire di inserire il JS nell'elemento '' –

+0

Cosa? Perché non dovresti mettere javascript in testa? Ecco dove va! – smdrager

+0

un -1'ed. Non completamente d'accordo (strutturalmente/semanticamente, smdrager ha ragione, ma in termini di prestazioni, Denis ha un punto), ma alcuni JavaScript (in particolare il codice asincrono) possono andare in testa senza causare problemi. – Yahel

0

Nulla può andare dopo </html> né tra </body> e </html>.

D'altra parte, tenere presente che HTML, HEAD e BODY sono impliciti anche se i tag non esistono, quindi un documento html non deve terminare con </html>.

Ovviamente i browser tendono a indovinare ciò che l'autore desiderava piuttosto che a rompere il markup non valido, quindi sì, ci si può aspettare che le persone mettano qualcosa dopo lo </html>, perché fa quello che vogliono.

Problemi correlati