af Jonas Astrup, HTML.dk
Sidst opdateret 16. april 2002
En stor del af de nye browsere (F.eks. Internet Explorer 6+ og Netscape 6+) kan køre i 2 tilstande - én hvor W3C standarderne overholdes til punkt og prikke, og én som læser siderne på samme måde som de gamle browsere. Du kan skifte mellem de to tilstande ved at angive en !DOCTYPE deklaration øverst i dit dokument.
Browserfabrikanterne er generelt blevet mere opmærksomme på W3C standarderne og idag overholder de fleste nyere browsere standarderne. Det samme kan man imidlertid ikke sige om tidens websites. Her er det mere undtagelsen end reglen at udviklerne har gjort sig umage med at overholde standarderne.
Det vil altså sige at mange websites som er kodet forkert eller som er kodet til at kompensere for fejl i de gamle browsere vil se mærkelige ud i nyere browsere.
Skrækscenariet er dermed at hvis en forbruger opdaterer sin browser til den nyeste version vil en del websites pludseligt se underlige ud eller måske slet ikke fungere. Hvem tror du forbrugeren vil give skylden - de forskellige websites som ikke er kodet efter standarden eller den nye browser som man netop har installeret?
Browserfabrikanterne har enten troet på det sidste eller ihvertfald ikke villet tage chancer. Derfor indbyggede de en lille funktion ind i deres programmer hvor understøttelsen af standarder kan slås til og fra - !DOCTYPE kontakten eller the !DOCTYPE switch som den kaldes på engelsk.
Man kan henholdvis tænde eller slukke for understøttelsen af standarderne i browseren ved at angive sine dokumenters DTD med eller uden URL.
Det vil f.eks. sige at hvis man ønsker at kode sine dokumenter efter HTML 4.01 standarden Transitional kan man angive sin DTD henvisning sådan her:
Men for at tænde for understøttelsen af standarden skal man yderligere tilføje en URL til DTD henvisningen sådan her:
Nedenfor er gengivet en matrix med de mest almindelige DTD henvisninger og browsere med angivelse af hvorledes understøttelsen slås til og fra.
Standarderne overholdes
Standarderne overholdes ikke
| Doctype | ![]() |
![]() |
![]() |
![]() |
|---|---|---|---|---|
| Ingen !DOCTYPE, ingen version, og HTML 2.0, 3.0, 3.2: |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
![]() |
![]() |
![]() |
![]() |
| Enhver ukendt Doctype |
![]() |
![]() |
![]() |
![]() |
| HTML 4.0 | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"> |
![]() |
![]() |
![]() |
![]() |
| HTML 4.01 | ||||
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict //EN"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict //EN" "http://www.w3.org/TR/html4/strict.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> |
![]() |
![]() |
![]() |
![]() |
| XHTML Proposed Recommendation 1999 | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-strict.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-transitional.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/1999/PR-xhtml1-19991210/DTD/xhtml1-frameset.dtd"> |
![]() |
![]() |
![]() |
![]() |
| XHTML | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/strict.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/frameset.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> |
![]() |
![]() |
![]() |
![]() |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd"> |
![]() |
![]() |
![]() |
![]() |
| XHTML Basic | ||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> |
![]() |
![]() |
![]() |
![]() |