TAE live: Making Friends With The Browser

Brian Dilllard fra ReallySimpleHistory snakker om at imødekomme brugernes forventninger om, at browserens navigation virker som altid på en ajax-side.

Problemet: Asynkrone requests og DHTML-opdateringer af sider afspejles ikke i browserens navigation. Man kan heller ikke bookmarke en side på en fornuftig måde.

Dette problem opstår, fordi der ikke har været en fornuftig standard defineret for, hvordan man håndterer sidehistorik i browseren. Alle browsere følger en adhoc standard, der offentliggør window.history på client-side. Men Ajax knækker historikken ved, at URL’erne ikke ændrer sig ved dynamiske opdateringer.

Det kan man løse ved et hack, hvor man bruger side-hash’en til at indikere en sideændring.

Men selvfølgelig er der problemer med browser-bugs. Næsten alle browsere har bugs, der skal arbejdes omkring for at få hash-tricket til at virke.

IE8 implementerer HTML5 history specification og onHashChange event’en. Dette gør det noget lettere at implementere ajax-history. Nice!

En løsning på historik-problemet kan være at anvende ReallySimpleHistory.

Et problem kan være, at vi med teknikkerne i ReallySimpleHistory knækker en anden feature af HTML, nemlig anchor-tags. Dette vil desværre være tilfældet, indtil HTML5 history spec’en bliver udbredt.

Leave a Reply