dinsdag, december 30, 2008

Firefox (yslow) eet mijn cookies en IE8 heeft een identiteitscrisis!

Bouwen voor het internet blijft leuk. Theoretisch werkt het allemaal heel simpel, de praktijk kan soms gezellig in de weg zitten.

Mijn avond was gisteren goed gevuld met nieuwe functionaliteit voor jufmelis.nl. Mijn vrouw had het liefst gezien dat ik nieuwe oefeningen en uitleg zou plaatsen. Zelf had ik meer zin in een mooie "meld een fout op de pagina" popup.

image

Niks bijzonders: een hidden div op de pagina. Op het moment dat je op de link klikt komt hij naar voorschijn en positioneert hij zich boven de link. Hij verstuurt de tekst via een AJAX call en ik krijg een mooi mailjte binnen met daarin de opmerking en de pagina waarop de opmerking gemaakt werd. In Firefox werkte het goed. In IE (8) kreeg ik het niet eenvoudig aan de praat (offsetTop werkt anders in IE dan in een normale browser). Dus daar heb ik aan geklust totdat het daar ook werkte. En het zag er allemaal netjes uit.

Toen ik het echt op de website zette zag het er in dezelfde browser ineens heel anders uit! Wat blijkt: IE8 werkt standaard met de nieuwe renderengine. Behalve wanneer het denkt dat het een intranet site bezoekt, dan werkt het in IE7 modus... En tijdens het ontwikkelen werk ik op http://localhost/ wat blijkbaar gezien wordt als intranet. Aangezien ik alles al werkend had voor IE7 modus heb ik het maar opgelost met de speciale header: <meta http-equiv="X-UA-Compatible" content="IE=7">. later nog getest op IE7 in het echt en dat werkte prima.

Toen het 2e probleem:

Een tijdje geleden heb ik een check in gebruik genomen om te detecteren of mensen de backspace gebruiken bij het invullen. Wat blijkt namelijk: leerlingen vullen de oefeningen in hebben 1 fout. Drukken op backspace, veranderen het foute antwoord en versturen de pagina opnieuw. Tada 100%!

Dat is niet de bedoeling, dus heb ik een systeem ingebouwd om via cookies backspace acties te detecteren. Alleen werkte dat ineens niet meer: na elke submit kreeg ik de melding dat backspace gebruikt was.

image

En dat was niet zo. Na onderzoek bleek dat mijn cookies niet juist gezet werden. Heel vreemd want voorheen werkte het wel. Aangezien cookies via headers gezet worden ben ik toen onderzoek gaan doen naar de headers welke verzonden werden. Firefox heeft daar een prachtige plugin voor: live http headers. Al snel bleek dat bij elke request de pagina 2 keer bezocht werd. De eerste keer werden de cookies goed gezet, de tweede keer fout. De eerste request was een POST, de tweede request was een GET. Na heel wat onderzoek heb ik het probleem proberen te reproduceren in IE. Wat niet lukte.

Toen begon het te dagen: ik heb voor firefox een plugin aanstaan: Yslow. Die vertelt mij hoe lang het duurt om een pagina te laden. Wat blijkt: dat doet hij door de pagina die je bezoekt nogmaals op te halen. Iets wat overigens redelijk gevaarlijk kan zijn... Plugin uitzetten lostte het probleem op. Gelukkig zat het probleem alleen op mijn pc. En heb ik weer 3 uur nuttig besteed aan de uitbreiding van mijn kennis ;)

maandag, december 29, 2008

Hoeveel is jouw site waard?


My site is worth $2708.3.
How much is yours worth?

Op: http://www.websiteoutlook.com/ kun je terugkijken hoeveel je site waard is. Ook wordt er een voorspelling gedaan over het aantal bezoekers en wat ad's op je website je op zouden leveren.

Zie bijvoorbeeld: http://www.websiteoutlook.com/www.jufmelis.nl. Voor 3 dollar per dag gaan wij iig geen ad's neerzetten ;)