Cheatah: Navigationsmenue für IE 5.0+, Netscape 5.0+ und Opera

Beitrag lesen

Hi,

if (navigator.appName.indexOf('Netscape', 0) != -1)

WAAAHHH!!!1

Es ist nutzfrei, sich nach dem navigator-Objekt zu richten. Dies wird auch bei Opera in den if-Teil gehen, ohne zu prüfen, ob dieser

layer = document.layers[top_layer];

document.layers überhaupt kennt; und alle anderen

layer = document.all[top_layer];

werden für einen veralteten IE gehalten. DOM wird hier gar nicht beachtet.

Die Überprüfung, ob ein Browser document.layers kennt, geschieht mit "if (document.layers)". Die, ob er document.all kennt mit "if (document.all)". Und diejenige, ob er DOM kennt - erkennbar an der Methode document.getElementById() - mit "if (document.getElementById)". Allerdings muss dieser Fall wieder komplett anders programmiert werden.

Mein Rat: Schmeiß das Script weg. Orientiere Dich meinetwegen am Algorithmus, aber programmiere es selbst. Beschäftige Dich dazu mit DHTML, was _mindestens_ DOM beinhaltet.

ich wollte einfach nicht ewig viel quelltext mitschicken, und hatte gehofft das jemand das problem kennt.

Dein Ansatz ist sehr löblich, aber eben dieses Minimum an Script brauchen wir dann doch :-)

Cheatah