Avatar billede webhelpers Praktikant
24. februar 2005 - 13:54 Der er 6 kommentarer

Caching af javascript

Hejsa

Jeg har lige behov for lidt opklaring.

Jeg har en asp-side som indeholder et javascript, som lægger postnumre og bynavne i et array, som benyttes til automatisk at udfylde Bynavn-feltet i en formular når postnummeret indtastes. Problemet er, at det er norske postnumre, og der er stå mange, så filen pga. den megen tekst i javascriptet fylder 120 KB :o)

Mit spørgsmål er: er der nogen måde hvorpå man kan cache javascript arrayet indeholdende postnumre og bynavne, så klienten ikke skal hente en 120 kb side hver gang? Eller giver det ingen mening at cache javascript, da det er client side, og da clienten kun skal se siden 1 gang?

Mvh Bo
Avatar billede roenving Novice
24. februar 2005 - 17:48 #1
Prøv at kigge på oleboles komprimering af de danske postnumre: http://tjenester.dk/x-codes.dk/eksperten/postnumre/ !-)
Avatar billede olebole Juniormester
24. februar 2005 - 23:50 #2
<ole>

At konstruere et array er sjældent en god idé, da det let kræver væsentligt flere tegn. Bare at undvære et enkelt tegn pr. by, kan betyde mange kilo i enden ... mellemrum og linieskift er også absolutte nono's  :)

Derudover caches alle JavaScripts, der ligger i remote filer - men at skulle hente 120Kb for at undgå ét serverkald ang. et postnummer, lyder ikke som en venlig tjeneste overfor brugeren.
Fordele og ulemper ved enhver løsning skal jo afvejes - og her får brugeren vist primært besvær ud af din kreativitet  ;o)

/mvh
</bole>
Avatar billede webhelpers Praktikant
25. februar 2005 - 00:04 #3
Tak for svar.

Men det ser ud til at din løsning på ovenstående link vil løse problemet. For hvis arrayet ligges i en js fil, som blot refereres til, så behøver klienten ikke at hente alt indholdet i arrayet, men kun byen, som hentes, når postnumret indtastes.

Problemet med min nuværende løsning er, at jeg har arrayet i selve filen, hvorfor filen fylder 120 KB, og derfor henter klienten hele arrayet...
Avatar billede olebole Juniormester
25. februar 2005 - 02:41 #4
Det er kun en del af problemet.
Måden selve koden er skrevet på er helt afgørende, hvilket du kan forvisse dig om, hvis du finder den gamle spm-tråd, der ligger til grund for min løsning. Der fik jeg barberet et alm. JS-array ned til at fylde omkring det halve af originalen.

Du bør helt afgjort optimere din kode på begge måder  ;o)
Avatar billede webhelpers Praktikant
25. februar 2005 - 02:58 #5
Din kode er i hvert fald langt bedre end den jeg selv havde lavet, så det er fint. Jeg skal bare lige have kørt en "white space trim", da der er omkring 6000 elementer i arrayet, adskilt med linieskift. Men omvendt burde det måske ikke betyde så meget, når hele arrayet alligevel ikke bliver hentet af klienten...

Kan I ikke begge to lægge et svar, så jeg kan give jer point.
Avatar billede webhelpers Praktikant
26. juli 2005 - 12:07 #6
olebole, lægger du et svar ? :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester