CSS Zibaldone

Il DOCTYPE sniffing di Mozilla

Articolo originale: http://developer.mozilla.org/en/docs/Mozilla%27s_DOCTYPE_sniffing

Autore: David Baron

Traduzione: Gabriele Romanato (21 febbraio 2008)

Questo documento descrive come Mozilla usa la dichiarazione di DOCTYPE per determinare la modalità rigorosa o la modalità quirks. Il codice che crea questa scelta si trova attualmente in DetermineParseMode() del file nsParser.cpp. Si veda il bug 1312 e il bug 55264 per la storia della scelta della modalità. Si veda il bug 153032 per la creazione della modalità Almost Standards in Mozilla 1.0. Gli obiettivi che portarono alla scelta di questo comportamento erano i seguenti:

  • Quasi tutte le pagine esistenti in text/html sul Web, che devono essere in modalità quirks per essere visualizzate correttamente, dovrebbero usare la modalità quirks (quasi tutte, invece che tutte, per permettere l'attuazione dei punti che seguono).
  • Gli autori che scrivono pagine web secondo gli standard attuali dovrebbero essere in grado di usare la modalità rigorosa.
  • Le pagine scritte usando gli identificatori pubblici nelle dichiarazioni di DOCTYPE che verranno create in futuro dovrebbero essere visualizzate usando la modalità rigorosa.

In altre parole, questo algoritmo è la migliore approssimazione che possiamo trovare per determinare quali pagine furono scritte dopo che Mozilla divenne un importante programma utente sul Web.

Contenuti

1. Piena modalità standard

Quello che segue causa la piena modalità standard

2. Modalità Almost Standards

Quello che segue causa la modalità almost standards. La modalità almost standards venne creata dopo le versioni 1.0 e 1.1 alfa, ma prima delle versioni 1.0.1 e 1.1 beta. Prima di allora questi DOCTYPE causavano la piena modalità standard.

3. Modalità Quirks

Quello che segue causa la modalità quirks (questo elenco ha bisogno di essere onnicomprensivo per fare in modo che le pagine esistenti sul web causino la modalità quirks):

I seguenti siti sono stati utili nel preparare questo elenco: W3C HTML Validator, HTMLHelp HTML Validator.

Si noti che tutte le comparazioni di identificatori pubblici non sono sensibili al caso. Questo è dovuto al significativo numero di pagine che usano identificatori pubblici nel caso scorretto (questo non è tecnicamente corretto, in quanto le stringhe sono sensibili al caso).

4. Vedi anche

5. Informazioni sul documento originale

  • Autore: David Baron
  • Data dell'ultimo aggiornamento: 2 agosto 2005
  • Informazioni sul copyright: Copyright (C) David Baron

Risorse interne

Risorse esterne

Feed dal blog

onwebdev

Gabriele Romanato