Doctype frontpage, quirks mode

Pagina: 1
Acties:

  • ArmEagle
  • Registratie: Oktober 2001
  • Laatst online: 16-12-2025
Ik ergerde me er al een tijdje aan dat als ik de artikelen op de frontpage aan het lezen was, dat bij het teruggaan naar een vorige pagina, firefox niet de oude scroll-positie bewaarde.
Vandaag ben ik iets verder gaan kijken en viel het me op dat dit op andere paginas wel gewoon werkte.

Op dat moment ging me een lichtje branden en bleek dat de frontpage in mijn browser in Quirks mode gerendered wordt. Gathering wordt echter in Standards Compliance mode gerendered, en daar wordt de scroll positie wel gewoon bewaard.

Uiteindelijk vond ik de oorzaak van het probleem hier: http://hsivonen.iki.fi/doctype/
Frontpage gebruikt de doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Hier mist de url naar de dtd, als die wordt toegevoegd, wordt de pagina in Standards Compliance mode gerendered.

Het kan natuurlijk bedoeld zijn dat de frontpage expres in Quirks mode gerendered wordt, maar ik zie niet waarom dat zou zijn. Verder is het natuurlijk niet jullie probleem dat firefox de scroll positie niet bewaard in Quirks mode, maar jullie kunnen het wel simpel oplossen.


Voordat ik achter deze oorzaak kwam had ik de frontpage in de W3C html en css validators gegooid, die bleek een aantal foutmeldingen te geven. Maar dat lijkt geen invloed te hebben op de render mode.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dat ligt niet aan de doctype (standards vs quirksmode) maar aan de caching-headers. Op de frontpage hebben we (nog) geen methode om op basis van If-Modified-Since request-headers te bepalen of we wellicht een 304 kunnen terugsturen. Dat is in de huidige opzet van onze code ook vrij lastig in te bouwen en is dus iets wat we bij een volgende redesign zullen moeten meenemen.
Dat laatste geldt ook voor het omswitchen naar standards-compliant mode; vanwege legacy-HTML op verschillende pagina's is dat nu ook nog geen optie.

Overigens is dit ook grotendeels gewoon een browser-issue aangezien andere browsers wel de scrollpositie weten te onthouden ondanks dat er een nieuwe pagina wordt opgevraagd.

[ Voor 14% gewijzigd door crisp op 04-09-2006 15:41 ]

Intentionally left blank