Fel data då bild hämtas från länk ? (Javaskript + IE8)

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
4kTRB
Inlägg: 20687
Blev medlem: 16 augusti 2009, 19:04:48

Fel data då bild hämtas från länk ? (Javaskript + IE8)

Inlägg av 4kTRB »

Har följande rader i en JavaScript kod och kör det hela i IE8.

Kod: Markera allt

i = 0;
pictures[IMAGE][i].src = "http://www.hemsida.se/bilder/" + "img" + i + ".jpg";
alert("Bild: " + i + " " + pictures[IMAGE][i].src + " height: " + pictures[IMAGE][i].height + " width: "+ pictures[IMAGE][i].width);
Länkar jag direkt till bilden:
http://www.hemsida.se/bilder/img0.jpg
och högerklickar på bilden och visar Egenskaper så är alla data riktiga, rätt höjd och bredd.

Men alert ovan skriver ut helt andra uppgifter på höjd och bredd, den skriver ut data för en annan, tidigare, bild
som hade samma namn. Men när bilden visas på hemsidan så visas den nya men med den
äldre bildens dimensioner, alltså med fel proportioner.

Jag har tagit bort allt vad webhistorik heter i IE innan jag hämtar sidan men det
verkar inte vara det som är problemet.

Är det servern som hämtar bild och uppgifter från olika platser?
Senast redigerad av blueint 29 augusti 2012, 15:06:45, redigerad totalt 1 gång.
Anledning: vad det rör sig om
sneaky
Inlägg: 1621
Blev medlem: 22 juni 2009, 18:38:42

Re: Fel data då bild hämtas från länk ?

Inlägg av sneaky »

Jag är kraftigt rostig men jag skulle väl tippa att bilden inte hunnit laddas klart när du kör alerten. Prova att lägga alerten i en "onload" för bilden istället.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Fel data då bild hämtas från länk ?

Inlägg av sodjan »

Tänkte också i de banorna. Bara för att man sätter en variabel som pekar på bildens URL
så sker det ju ingen hämtning av varken bild eller bildparametrar i det läget.
Så alerten har inget att jobba med i det läget och gissar väl så gott den kan... :-)
Användarvisningsbild
4kTRB
Inlägg: 20687
Blev medlem: 16 augusti 2009, 19:04:48

Re: Fel data då bild hämtas från länk ?

Inlägg av 4kTRB »

Men det är fel för bildens proportioner när den visas
stämmer med det som alert anger.

Till exempel om en bild BxH = 200x100 visats i platsbehållaren innan och
byts ut med en bild BxH = 100x200 så visas den nya som BxH = 200x100
och det är också de data alert skriver ut.

Sedan när bilden ska läggas in i dokumentets img-tag
använder jag följande rader:

Kod: Markera allt

function visaBild(i) {
	document.images[i].src = pictures[IMAGE][i].src;
}
Kan jag ha gjort något galet här kanske?
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Fel data då bild hämtas från länk ?

Inlägg av sodjan »

Tja, *vi* vet ju inte vad "i" är i de olika fallen...
Användarvisningsbild
4kTRB
Inlägg: 20687
Blev medlem: 16 augusti 2009, 19:04:48

Re: Fel data då bild hämtas från länk ?

Inlägg av 4kTRB »

Det som ni kommenterar stämmer!
:) Tack! :)
Jag satte data på img-taggen innan bilden laddats.

Jag kodar så här:

Kod: Markera allt

imgTag.setAttribute("border", "0");
imgTag.setAttribute("alt", "Tumnagel");
imgTag.setAttribute("src", "");			
aTag.appendChild(imgTag);
visaBild(i - 1);
imgTag.setAttribute("height", document.images[i-1].height);
imgTag.setAttribute("width", document.images[i-1].width);
....
function visaBild(i) {
	document.images[i].src = pictures[IMAGE][i].src;
}
istället för som tidigare:

Kod: Markera allt

imgTag.setAttribute("border", "0");
imgTag.setAttribute("alt", "Tumnagel");
imgTag.setAttribute("src", "");
imgTag.setAttribute("height", pictures[IMAGE][i - 1].height);
imgTag.setAttribute("width", pictures[IMAGE][i - 1].width);
aTag.appendChild(imgTag);
visaBild(i - 1);
....
function visaBild(i) {
	document.images[i].src = pictures[IMAGE][i].src;
}
Typiskt att missa så pass basic när man inte kodar mer än på hobby-nivå.
Skriv svar