Na veel proberen is het me niet gelukt een image te veranderen met javascript als je op een link in de pagina klikt. Mijn functie werkte als een zonnetje in alle browsers behalve in IE (5/6) als de caching van IE op de setting "bij elk bezoek aan een pagina" stond ingesteld.
de functie maakte gebruik van het src attribuut van een plaatje dat ik vijf verschillende waardes kon meegeven door middel van vijf verschillende linkjes op dezelfde pagina. de js zag er dus ongeveer als volgt uit:
Alleen in IE werd wel het standaard plaatje getoond maar als je klikte verdween het plaatje.
Vervolgens heb ik hetzelfde effect geprobeerd te bereiken door onclick de class van de div, met daarin het plaatje, te veranderen met voor iedere class een ander achtergrond plaatje. maar ook dit werkte weer alleen niet in IE met de cache setting op deze bepaalde stand.
mijn conclusie: als je Internet Explorer caching op controleren "bij elk bezoek aan een pagina" zet kan IE niks meer uit de cache lezen maar hij kijkt ook niet meer of hij het plaatje wel van de server kan halen als hij het niet in de cache vindt. Dit is dus een bug waar geen oplossing voor is. Heb ik gelijk of zie ik iets over het hoofd?
p.s. ik heb het uiteindelijk opgelost door ieder plaatje een eigen div te geven op de pagina en de display waarde te veranderen voor het plaatje wat getoond diende te worden.
de functie maakte gebruik van het src attribuut van een plaatje dat ik vijf verschillende waardes kon meegeven door middel van vijf verschillende linkjes op dezelfde pagina. de js zag er dus ongeveer als volgt uit:
code:
1
2
3
4
5
6
| img['plaatje01'] = 'bla.jpg';
img['plaatje02'] = 'bla2.jpg';
function change (name) {
document.images['plaatje'].src = img[name].src
} |
Alleen in IE werd wel het standaard plaatje getoond maar als je klikte verdween het plaatje.
Vervolgens heb ik hetzelfde effect geprobeerd te bereiken door onclick de class van de div, met daarin het plaatje, te veranderen met voor iedere class een ander achtergrond plaatje. maar ook dit werkte weer alleen niet in IE met de cache setting op deze bepaalde stand.
mijn conclusie: als je Internet Explorer caching op controleren "bij elk bezoek aan een pagina" zet kan IE niks meer uit de cache lezen maar hij kijkt ook niet meer of hij het plaatje wel van de server kan halen als hij het niet in de cache vindt. Dit is dus een bug waar geen oplossing voor is. Heb ik gelijk of zie ik iets over het hoofd?
p.s. ik heb het uiteindelijk opgelost door ieder plaatje een eigen div te geven op de pagina en de display waarde te veranderen voor het plaatje wat getoond diende te worden.