Struppi: warum funktioniert mein javascript nicht auf dem mac (IE 5)!!!

Beitrag lesen

also ich habe folgendes problem auf dem mac. mein mouseover will nicht so wie es dringend brauche!!!

  • wenn ich die seite öffne dann zeigt mir der IE 5 manchmal nur die navigation ohne hintergrundbild an.
  • allerdings muss ich jedesmal die seite aktuallisieren damit ich die unternavigation erscheint, wenn ich über die navigation fahre.

ich komme also auf die seite unter umständen ist alles ok.... fahre über meinen ersten navigationspunkt der ändert die farbe ABER ES ÖFFNET SICH NICHT DIE UNTERNAVIGATION! erst wenn ich ein paar mal aktualiseirt habe geht es.

bin für jeden tipp dankbar...

[skript gesnippt]

Dieses Skript ist hoffnungslos veraltet. Du benutzt  document.all und document.layers. Das eine ist IE 4.x, das andere NC 4.x. Du hast Glück, das neuere IE's document.all unterstützen.

Du solltest auf jeden Fall die DOM Methoden noch einbauen und ganz wichtig nicht aif navigator.appName prüfen, sonder die Funktionen, die du benutzen möchtest.
Also z.b. document.layers oder all

Typischerweise (ich glaub irgendwo auf der selfhtml seite ist auch so was zu finden) benutzt man ein Funktion, die den Layer sucht in etwa so:

///////////////////////////////////////////////////////////
// getById(id [, win])

function getById(id, win)
{
    var doc = window.document;
    if(win) doc = win.document;

if(typeof id == 'undefined') return null;

var obj = null;
    if(document.getElementById) obj = doc.getElementById(id);
    else if(document.layers) obj = _doc.layers[id];
    else if(document.all) obj = doc.all[id];

return obj;
}

Daneben ist dein Verwendung von eval unnötig, falsch und fehlerträchtig bzw. kannst du dadurch wesentlich schwerer Fehler feststellen.

document.all[welche].document[imgName2].src = eval(imgName2 + "off.src");

document.all[welche].document[imgName2].src = self[imgName2 + "off"].src;

Ansonsten, sind Menu mit Javascript sowieso keine gute Idee, da JS nicht als Vorraussetzung zum benutzen einer Seite vorrausgesetzt werden sollte.

Struppi.