Avatar billede phliplip Nybegynder
03. november 2006 - 11:51 Der er 23 kommentarer og
1 løsning

loader samme billede flere gange

Hej Exp'er,

Hvis jeg har et javascript der printer et/flere billede(r) flere gange så skrives der fx. i statusbar (Mangler 340 elementer) som så tæller ned eftersom elementerne bliver loadet.

Er dette normalt? Eller ville det ikke forekomme hvis billedet blev cachet? Og kan, IE i dette tilfælde, bruge cachede filer der bliver printet i javascript?


/Philip
Avatar billede olebole Juniormester
03. november 2006 - 12:23 #1
<ole>

Hvad mener du med ordet 'printer'?

/mvh
</bole>
Avatar billede thesurfer Nybegynder
03. november 2006 - 12:38 #2
Når man f.eks. bruger IMG tag'et, kan browseren se hvor mange billeder der er på siden. Browseren informerer så brugeren om hvordan billeder den mangler at loade ind..

Jeg mener ikke at en loop af denne slags, ville vise hvor mange elementer der er tilbage:

for(i=0; i < 9; i++)
{
  document.write('<img src="billede.jpg"><br>');
}

Hvis man nu lavede en array af billeder, kunne det være at den kunne se det..
Avatar billede thesurfer Nybegynder
03. november 2006 - 12:38 #3
..hvis den løb loop'en hurtigere igennem, end billederne blev loadet, ville nok kunne vise oplysningerne..

Det er ikke noget jeg har prøvet, men bare en ide..
Avatar billede phliplip Nybegynder
03. november 2006 - 12:45 #4
OleBole: Ok printer var nok et forkert ord at bruge, jeg kunne også bare ha skrevet "når jeg bruger innerHTML".
Avatar billede phliplip Nybegynder
03. november 2006 - 12:48 #5
Det er btw. ikke noget problem i FireFox, ikke noget jeg har lagt mærke til.. Men det skal lige siges at jeg sidder og arbejder på en tynd klient mod en Win2003 server, via fjernskrivebord. Ved ikke om det er det der sløver der hele i IE.
Avatar billede thesurfer Nybegynder
03. november 2006 - 12:52 #6
Det der nok er mere interessant, er din JavaScript kode.. smid den her ind..
Avatar billede phliplip Nybegynder
03. november 2006 - 13:22 #7
TheSurfer: Ja det er nok mega interessant, men der er altså bare lige ca. 1500 linier.

Det er egentlig ikke så svært.

Har et array med data der bliver lagt noget i fra en hidden iframe.
Hvergang der bliver lagt noget i det, bliver et <table> opdateret, altså slettet og bygget op igen med nye data. det gøres med insertRow og insertCell og så køres der en innerHTML på cellerne med det data der skal ligge i dem.
Avatar billede olebole Juniormester
03. november 2006 - 13:37 #8
- men hvori består dit problem?
Avatar billede phliplip Nybegynder
03. november 2006 - 14:03 #9
Hvis /images/airlines/sk.gif bliver brugt flere gange i det indhold der bliver skrevet, så loader den billedet for hver "instans" det forekommer i indholdet.

Kigger lige om problemet også opstår på min maskine derhjemme når jeg kommer hjem fra arbejde.
Avatar billede olebole Juniormester
03. november 2006 - 14:08 #10
Det kan være din browser, der er sat op til at checke for nye filer, hvergang:
    Funktioner --> Internetindstillinger --> Midlertidige Internetfiler --> Indstillinger...
Avatar billede olebole Juniormester
03. november 2006 - 14:09 #11
- og så er det også afhængigt af hvilke HTTP-headers, filerne serves med
Avatar billede roenving Novice
03. november 2006 - 16:28 #12
-- og så vil IE notorisk checke, om der er kommet nye udgaver af en fil, uanset den skal loade den samme fil et millisekund efter den er blevet loadet ...

-- og det gælder selvfølgelig kun, hvis man bruger den nutidige standard-indstilling:

Kontroller, om der er nye udgaver af siden:
&#9689; Ved hvert besøg på siden.
Avatar billede roenving Novice
03. november 2006 - 16:29 #13
-- og Unicode tegn 9689 var et forsøg på at efterligne en markeret radiobutton ...
Avatar billede thesurfer Nybegynder
03. november 2006 - 16:33 #14
(*) Ved hvert besøg på siden.

Yep.. Hightech.. :-)
Avatar billede thesurfer Nybegynder
03. november 2006 - 16:35 #15
Eller med x: (x) Ved hvert besøg på siden.

Jeg mener at jeg før har omgået det, ved at tilføje et tilfældigt tal bag filnavnet..

Eksempel: billede.jpg?13452343123434

Men det er vist ikke altid at det virker...?

Ellers må man lave en billede.asp?fil=billede.jpg&random_tal=1234532421343

Så må billede.asp (eller billede.php / andet sprog) udskrive billedet..
Avatar billede roenving Novice
03. november 2006 - 17:04 #16
-- men strandløve, så sikrer du jo netop at blledet loades forfra fra serveren, nu checker den trods alt kun, om der er kommet en ny udgave !-)
Avatar billede thesurfer Nybegynder
04. november 2006 - 13:38 #17
Ahh, ja..

Hmm.. Nu har jeg lige givet den omvendte løsning.. så skal man bare vende problemet 180 grader.. så passer løsning og problem sammen.. ;-)
Avatar billede phliplip Nybegynder
30. november 2006 - 12:28 #18
Jeg har ikke fundet nogen løsning på problemet, smider i svar?

http://www.onindo.com/ Kig her og se om i ikke også får samme problem som mig ;)
Avatar billede thesurfer Nybegynder
30. november 2006 - 16:38 #19
Jeg har ingen problemer.. der er omkring 40-50 billeder..

Ingen points til mig, tak.
Avatar billede phliplip Nybegynder
30. november 2006 - 19:20 #20
Ok.. ved ikke om det så kan være fordi vi kører via tynde clienter.
Avatar billede thesurfer Nybegynder
30. november 2006 - 19:27 #21
Hvis I kører via tynde klienter, skulle sider jo loades på jeres server/mainframe-maskinen..

Maskinene kunne så f.eks. bruge en proxy, men.. jeg ved ikke hvad jeres it-afdeling/ansvarlig siger til det..
Avatar billede phliplip Nybegynder
05. december 2006 - 20:37 #22
Lige meget... det lader til det virker ;)

Smider i nogen svar ?
Avatar billede thesurfer Nybegynder
05. december 2006 - 22:01 #23
Ok, her er et svar.. :-)
Avatar billede thesurfer Nybegynder
06. december 2006 - 01:34 #24
...som var en kommentar.. :-)

Men HER er 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