"John Kjoller" <john@skrivikkedette-basix.dk> writes:
> Når dette står i et eksternt javascript-ark:
>
> infoknapoff = new Image();
> infoknapoff.src = "grafik/inforknapoff.gif";
....
> - Hvad sker der så?
Ikke noget før du inkluderer det i en side :)
> Jeg har en hel masse af den slags i mit script-ark - fordi jeg troede at det
> cachede mine billeder. - Og det var jo smart... troede jeg....
Såmænd. Din browser cacher (næsten) altid de billder du henter. Det
vigtige her er at de blever hentet *før* de skal bruges (pre-fetches),
så man ikke ser et tomt område mens billedet hentes første gang.
> Jeg troede egentlig, at det var en nødvendighed for at min mouseover-effekt
> fungerede, men da min nysgerrighed bød mig det, og jeg fjernede det fra
> script-arket, gjorde det overhovedet ingen forskel.
Der er to muligheder:
1 - du kører siderne direkte fra din egen harddisk. Så kan den hente
billedet lige så hurtigt derfra som fra cachen, og du kan ikke se om
det er prefetched eller ej, eller
2 - du kører siderne fra dit normale web-sted, og har forlængst cachet
alle billederne. Her kan du prøve at tømme din cache først, og så gå
ind på siden igen og se om du ikke kan se noget på den første mouse-over.
> Billedeskift funktionen ligger også i mit script-ark:
>
> function skiftbillede(img_id,img_src) {
> document.getElementById([img_id]).src=img_src; }
^ ^ - de to, [ og ], skal ikke være der.
Dette virker sjovt nok, fordi du laver et array med værdien af "img_id"
som eneste element, og derefter konverterer det til en streng igen.
Spild af energi, dog :)
> Hvad har jeg misforstået mht mouseover effekten? (det virker for så vidt....
> men tilsyneladende er cache funktionen ikke nødvendig?)
Nej, prefetching har kun et formål: at undgå et lidt grimt blink
*første* gang et billede skal bruges. Derefter gør det ingen forskel.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'