Jeg har jævnligt revet mig selv i håret over at min weblog ser ud til at være nede, når enten albinogorillas eller flickrs services er det.
Symptomet er klart: siden loader indtil det sted, hvor jeg plejer at vise billeder udefra, og så hænger indlæsningen mens den forsøger at få fingrene i de servere, hvor indholdet ligger.
På et eller andet tidspunkt opgiver den og fortsætter.
Men det er der vitterligt ingen, der gider vente på.
Først forsøgte jeg at benytte mig af AJAX biblioteket Prototype.js, da man her jo kan lave ting og sager i baggrunden.
Det kunne jeg ikke få til at virke. Muligvis noget med at <script src=".."></script> ikke bliver evalueret af evalScripts:true i min Ajax.Updater.
Så jeg gik efter en enkel løsning:
- smid den problematiske blok allernederst på siden, lige før
</body>
- pak den ind i en
<div id="lazyDiv" style="display:none">
- der hvor den egentlig skal være smider man en
<div id="targetDiv" >loading...</div>.
- så skriver man en javascript funktion der kopierer innerHTML fra lazyDiv til targetDiv og kalder den fra et script-tag lige efter lazyDiv’en nederst på siden.
Det er princippet. Og det virker nogenlunde efter hensigten, men vigtigst: det giver en Markant bedre load-tid!
View source nu, hvis du vil se, hvordan det præcist er gjort. (Det ændrer sig måske senere.)
PS:Jeg kan måske godt overtales til at gå mere i detaljer, hvis det har interesse…