Toon posts:

[js] image rollover; MZ goed : IE niet goed

Pagina: 1
Acties:

Verwijderd

Topicstarter
Peeps,

Ik ben een image rollover + preload aan het maken. Deze werkt als een trein in Mozilla FireFox en werkt niet echt lekker in IE. Nu had ik topic gevonden (2 jaar oud) waarin een bug van IE werd beschreven met allerlei voorbeelden die 404 opleverden.. In IE kun je ook zien (linksonderin) dat ie alsnog de afbeeldingen telkens download..! Mozilla doet dit niet. Is dit een bug van IE of is er iets mis met het script: www.impres.nl/test.html

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Je preload wel, maar uiteindelijk vervang je enkel het src attribuut weer met een string en verwijs je niet naar de src attribuut van een preloaded image; dit doet IE namelijk wel goed:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var p = new Array();  // global!

function preloadImages()
{   

    var tags = document.getElementsByTagName('img'), i = tags.length;
    while (i--) {
        p[i] = new Array();
        p[i]['over'] = new Image(); p[i]['over'].src = tags[i].getAttribute('imgOver');
        p[i]['out'] =  new Image(); p[i]['out'].src = tags[i].getAttribute('src');
        tags[i].number = i;
        tags[i].onmouseover = doImgOver;
        tags[i].onmouseout  = doImgOut;
    }
}

function doImgOver()
{
    this.src = p[this.number]['over'].src;
}

function doImgOut()
{
    this.src = p[this.number]['out'].src;
}

Intentionally left blank


Verwijderd

Topicstarter
Vreemd genoeg doet IE nog precies hetzelfde. Hij download plaat a.jpg en b.jpg nog telkens opnieuw en Mozilla niet.

Ik heb het script ook nog super basic gehad met een name property, dus:
name.src = preloadedimage.src;

Dit werkte toen ook niet..

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Hoe is je caching ingesteld? (in Engelse IE: Tools - Internet Options - General - (temporary internet files) Settings)

Intentionally left blank


Verwijderd

Topicstarter
Omdat XP altijd zoveel ruimte inneemt had ik 'm op 40 mb staan. Net verhoogt naar 1 GB maar nog steeds hetzelfde.
Nieuwe versie van pagina's: Bij elk bezoek.
Ik had hier eerder ook al naar gekeken want dat stond ook in dat andere topic wat ik had gevonden maar kon niet echt iets vinden. Heb ook cookies en bestanden al leeggemaakt meerdere keren.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Nieuwe versie van pagina's: Bij elk bezoek.
en dat is je probleem, want daarmee zeg je tegen IE dat hij voor elke link (dus ook plaatjes) moet kijken of er een nieuwe versie beschikbaar is op de server (elk bezoek vertaald hier naar elk request). Hij download niet het hele plaatje bij een wijziging van het src attribuut, maar hij doet in ieder geval wel een check naar de server en krijgt dan een 304 (not modified) status terug.
Probeer het eens met die setting op 'Automatisch' (wat ook de default is)

[ Voor 8% gewijzigd door crisp op 10-08-2004 22:13 ]

Intentionally left blank


Verwijderd

Topicstarter
Ik sta versteld van deze informatie! :) Heel hartelijk bedankt voor je hulp!! Zupa! :z

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:54

crisp

Devver

Pixelated

Mijn eerste versie van Lemmings gebruikte voor elke sprite een los plaatje; iemand die de site bezocht met caching op 'elk bezoek' veroorzaakte dan een kleine DDoS op mijn webspace ondanks dat de plaatjes preloaded waren :o
Later heb ik die sprites anders gedaan (meerdere sprites in 1 plaatje) zodat niet 1 enkele bezoeker de site onderuit kon trekken ;)

Intentionally left blank

Pagina: 1