Struppi: Problem mit IE6 & Bilderwechsel!

Beitrag lesen

Folgendes Problem!

Das Bildwechselscript funktioniert in allen Browsern ohne Probleme. Erst unter IE6 bekomme ich eine Fehlermeldung, dass ein "}" fehlt. Mir ist vollkommen schleierhaft, warum es fehlen sollte, da es nur 2 mal geöffnet und auch 2 mal wieder geschlossen wird. Hoffe auf Hilfe von Euch und schicke das Script gleich mit.

VG Medimax

Das Script steht in einer externen *.js Datei.

Wenn das so ist, dann ...

<!--

muss dies einen Fehler erzeugen (zumindest in Browsern, die funktionieren), da "<!--" kein gültiges Javascript ist.

Es ist immer sinnvoll, wenn man Javaskripte schreibt einen Netscape/Mozilla Browser zu verwenden, diese ziegen durch die eingabe von "javascript:" eine genauere Fehlerbeschreibung an.

function swapimage(imgName,newImg){
        if ((navigator.appName == 'Netscape' && parseFloat(navigator.appVersion) >= 3) || (parseFloat(navigator.appVersion) >= 4)){

Warum das denn?????

Da du einen Bilderwechsel machen willst, reicht es voll und ganz aus zu prüfen ob der Browser das kann und zwar mit Hilfe von

if(document.images) {
// Browser die die Eigenschaft images nicht kennen können keine Bilder wechseln.

eval('document.' + imgName + '.src = "' + newImg + '"');

eval ist evil und in 99.99% der Fälle unnötig, so auch hier:

document.imgName.src = newImg;

solte das gleiche tun. Sinnvoll kann es noch sein, zu prüfen ob document.imgName existiert.

also alles in allem ist es so besser:

function swapimage(imgName,newImg)
{
    // Kann der Browser Bilder wechseln?
    if(!document.images) return false;
    if(typeof document.imgName) return alert('Fehler!\nDas Bild ' + imgName + 'existiert nicht.');
document.imgName.src = newImg;
return true;
}

Die return werte sind notwendig, da alte Browser ansonsten unterschiedliche Rüchgabewerte monieren und Mozilla davor warnt.

Struppi.