Image objekt Zuweisung?
Andi
- javascript
Hola Folks,
ich habe eine Bildergallerie die mit einem JS durchgescrollt wird.
Ich lade alle Bilder als new Image() und schiebe die fertigen Image-Objekte (pop) in ein Array.
Jetzt würde ich gerne, das aktuelle Anzeigebild einfach mit objekt=BilderArray[var] anzeigen lassen, was leider nicht funktioniert.
Derzeit funktioniert es nur mit objekt.src=BilderArray[var].src, was ja aber nicht wirklich im Sinn der Sache steht.
Also zur Frage, kann ich mit meinem Array die Bilder cachen und direkt austauschen? Falls ja, wie?
Danke im Vorraus,
Andi
Derzeit funktioniert es nur mit objekt.src=BilderArray[var].src, was ja aber nicht wirklich im Sinn der Sache steht.
Wieso nicht?
Struppi.
Für diese Möglichkeit bräuchte ich ja kein Array mit Image-Objekten, da würde es auch eine eine String-Collection tun.
Mein Hauptproblem ist, das der IE6 die Bilder nicht ordentlich cache't, darum will ich alle Bilder fertig als Objekte laden und dann für die Anzeige austauschen, wie gesagt, am besten als komplettes Image-Objekt.
Cheers, Andi
Derzeit funktioniert es nur mit objekt.src=BilderArray[var].src, was ja aber nicht wirklich im Sinn der Sache steht.
Wieso nicht?
Struppi.
Hi,
Für diese Möglichkeit bräuchte ich ja kein Array mit Image-Objekten, da würde es auch eine eine String-Collection tun.
ja, den Strings sieht der Browser aber nicht an, dass es sich um URLs handelt, die er schon mal anfordern sollte.
Mein Hauptproblem ist, das der IE6 die Bilder nicht ordentlich cache't,
Das hat aber nichts mit JavaScript-Objekt-Handling zu tun.
Cheatah
Wirklich ein sinnvoller und geistreicher Kommentar.
Anstatt die eigentliche Frage zu beantworten oder versuchen zu beantworten, erzählst Du mir Dinge die ich bereits weiss.
Objekt-Swapping per Zuweisung Ja/Nein (wie), war die eigentliche
Frage. Das der IE6 mit dem cachen seine Probleme hat ist
mir bekannt und derzeit kann ich es nur über einen manuell
modifizierten http header im iis beheben.
Hi,
Für diese Möglichkeit bräuchte ich ja kein Array mit Image-Objekten, da würde es auch eine eine String-Collection tun.
ja, den Strings sieht der Browser aber nicht an, dass es sich um URLs handelt, die er schon mal anfordern sollte.
Mein Hauptproblem ist, das der IE6 die Bilder nicht ordentlich cache't,
Das hat aber nichts mit JavaScript-Objekt-Handling zu tun.
Cheatah
Hi,
Wirklich ein sinnvoller und geistreicher Kommentar.
danke sehr.
Anstatt die eigentliche Frage zu beantworten oder versuchen zu beantworten, erzählst Du mir Dinge die ich bereits weiss.
Warum stellst Du diese Dinge dann zur Debatte?
Objekt-Swapping per Zuweisung Ja/Nein (wie), war die eigentliche
Frage.
Die hat Struppi beantwortet, und es wurde von mir technisch vertieft. Was fehlt Dir noch?
Das der IE6 mit dem cachen seine Probleme hat ist
mir bekannt
Dies spielte zumindest bei meinen Antworten keine Rolle.
Hi,
Bitte zitiere nur das, worauf Du Dich beziehst, und antworte in einer in Mitteleuropa üblichen Leserichtung, danke.
Cheatah
Für diese Möglichkeit bräuchte ich ja kein Array mit Image-Objekten, da würde es auch eine eine String-Collection tun.
Mit dem Unterschied, dass das Bild nicht geladen wird.
Mein Hauptproblem ist, das der IE6 die Bilder nicht ordentlich cache't, darum will ich alle Bilder fertig als Objekte laden und dann für die Anzeige austauschen, wie gesagt, am besten als komplettes Image-Objekt.
Dann musst du dieses mit dem Element knoten vertauschen, wobei ich dein Problem nicht verstehen, das Image Objekt lädt das Bild und bei mir wird es auch im IE gecached.
Struppi.
Dann musst du dieses mit dem Element knoten vertauschen, wobei ich >>dein Problem nicht verstehen, das Image Objekt lädt das Bild und >>bei mir wird es auch im IE gecached.
Vielleicht funktioniert das mit "normalen" Bildern in der Form von http://<domain>/bild.xxx, allerdings streame ich die Bilder die ich anzeigen möchte selber über ein asp Modul. In meinem src-tag steht also http://<domain>/loader.aspx?querry=x und damit hat der gute alte IE6 wohl zu schaffen (IE7 und Firefox haben damit keine Probleme).
Das um nochmal mein "Problem" zu verdeutlichen. Was meintest Du mit
"Element Knoten" austauschen" ? Wenn ich direkt eine Zuweisung des Objektes vornehmen passiert erstmal gar nichts.
Für diese Möglichkeit bräuchte ich ja kein Array mit Image-Objekten, da würde es auch eine eine String-Collection tun.
Mit dem Unterschied, dass das Bild nicht geladen wird.
Mein Hauptproblem ist, das der IE6 die Bilder nicht ordentlich cache't, darum will ich alle Bilder fertig als Objekte laden und dann für die Anzeige austauschen, wie gesagt, am besten als komplettes Image-Objekt.
Dann musst du dieses mit dem Element knoten vertauschen, wobei ich dein Problem nicht verstehen, das Image Objekt lädt das Bild und bei mir wird es auch im IE gecached.
Struppi.
Vielleicht funktioniert das mit "normalen" Bildern in der Form von http://<domain>/bild.xxx, allerdings streame ich die Bilder die ich anzeigen möchte selber über ein asp Modul. In meinem src-tag steht also http://<domain>/loader.aspx?querry=x und damit hat der gute alte IE6 wohl zu schaffen (IE7 und Firefox haben damit keine Probleme).
Bei mir hat auch der IE 6 damit keine Probleme.
Struppi.
Was verstehst Du unter "Problem" ist die Frage.
Die Bilder werden geladen und angezeigt (auch bei mir), dass "Problem" ist halt, dass wenn ich diese "Bilder" mit einem Skript durchschalte, stets neu vom Browser geladen werden.
Funktioniert das in Deinem IE6 ohne nachladen?
In dem Fall wäre irgendwas fehlerhaft am Mime Typen ohne am Header des Streams vom asp Teil.
Vielleicht funktioniert das mit "normalen" Bildern in der Form von http://<domain>/bild.xxx, allerdings streame ich die Bilder die ich anzeigen möchte selber über ein asp Modul. In meinem src-tag steht also http://<domain>/loader.aspx?querry=x und damit hat der gute alte IE6 wohl zu schaffen (IE7 und Firefox haben damit keine Probleme).
Bei mir hat auch der IE 6 damit keine Probleme.
Struppi.
Was verstehst Du unter "Problem" ist die Frage.
Die Bilder werden geladen und angezeigt (auch bei mir), dass "Problem" ist halt, dass wenn ich diese "Bilder" mit einem Skript durchschalte, stets neu vom Browser geladen werden.
Funktioniert das in Deinem IE6 ohne nachladen?
Ja, ich hab das mit einem 1MB grossen Bild probiert.
In dem Fall wäre irgendwas fehlerhaft am Mime Typen ohne am Header des Streams vom asp Teil.
Da hab ich einfach nur image/jpeg genommen.
Struppi.
Hi,
Jetzt würde ich gerne, das aktuelle Anzeigebild einfach mit objekt=BilderArray[var] anzeigen lassen, was leider nicht funktioniert.
Image ist nicht von HTMLImageElement abgeleitet und erfüllt auch nicht das selbe Interface. Würdest Du mit einer typsicheren Programmiersprache arbeiten, hätte es schon längst Fehler gehagelt - im Idealfall bereits im Editor. Bei JavaScript hingegen "funktioniert es nur nicht". Das einzige "leider", dass ich hierbei sehe, befindet sich im Satz "leider tritt der Fehler erst zur Execution Time auf".
Cheatah