Navigationsmenue für IE 5.0+, Netscape 5.0+ und Opera
Joey
- javascript
Ich habe mit Namo ein Javascriptmenue erstellt, das laut Quelltext auch zumindest auf Netscape funktionieren sollte, was jedoch nicht funktioniert, kann mir jemand einen tipp geben, wie man das script für das Navigationsmenue so abändern kann, das es tatsächlich auf Netscape läuft ?
Hi,
Ich habe mit Namo ein Javascriptmenue erstellt, das laut Quelltext auch zumindest auf Netscape funktionieren sollte, was jedoch nicht funktioniert, kann mir jemand einen tipp geben, wie man das script für das Navigationsmenue so abändern kann, das es tatsächlich auf Netscape läuft ?
ja: korrigiere die Fehler.
Mal ernsthaft: Glaubst Du wirklich, dass Dir jemand bei dieser Problembeschreibung helfen kann?
Cheatah
Hi,
Ich habe mit Namo ein Javascriptmenue erstellt, das laut Quelltext auch zumindest auf Netscape funktionieren sollte, was jedoch nicht funktioniert, kann mir jemand einen tipp geben, wie man das script für das Navigationsmenue so abändern kann, das es tatsächlich auf Netscape läuft ?
ja: korrigiere die Fehler.
Mal ernsthaft: Glaubst Du wirklich, dass Dir jemand bei dieser Problembeschreibung helfen kann?
Cheatah
eine typische stelle ist:
var layer;
if (navigator.appName.indexOf('Netscape', 0) != -1)
layer = document.layers[top_layer];
else
layer = document.all[top_layer];
ich wollte einfach nicht ewig viel quelltext mitschicken, und hatte gehofft das jemand das problem kennt.
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
Hallihallo!
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
document.layers überhaupt kennt; und alle anderen
Die Überprüfung, ob ein Browser document.layers kennt, geschieht mit "if (document.layers)".
Da möchte ich einmal intervenieren ;)
Ich habe ja vor einiger Zeit mal mein DHTML- Menü gebastelt (das mit den Frames), und musste da logischerweise auch auf NS4.x prüfen.
Dabei ist mir aufgefallen, daß (document.layers) nicht automatisch "true" ist, wenn der Browser das Layerobjekt kennt, sondern erst, wenn auch wirklich ein layer definiert wurde.
Soll heissen:
<html>
<head>...</head>
<body>
<script type="text/javascript">
if (document.layers) {alert("Juhu!");}
</script>
</body>
</html>
blieb ohne Wirkung (wohlgemerkt: im NS4.75)
Hatte ich hingegen so etwas wie
<html>
<head>...</head>
<body>
<layer id="blabla"> TEST TEST Ich bin ein Layer </layer>
<script type="text/javascript">
if (document.layers) {alert("Juhu!");}
</script>
</body>
</html>
hat mir brav mein Alert- Fenster ausgegeben...
Weil mich das ziemlich genervt hat, musste ich daraufhin auch das navigator- Objekt zur Identifikation benutzen (allerdings nur für den alten NS)
Oder habe ich da einen dummen Denkfehler drin?
Viele fragende Grüße,
Der Dicki
Cheatah
Guten Tag erstemal! (<-- wie's uns Muttern beigebracht hat)
Ich habe mit Namo ein Javascriptmenue erstellt, das laut Quelltext auch zumindest auf Netscape funktionieren sollte, was jedoch nicht funktioniert, kann mir jemand einen tipp geben, wie man das script für das Navigationsmenue so abändern kann, das es tatsächlich auf Netscape läuft ?
Ähem, wenn Du das Skript auch mal posten würdest, vielleicht...
Gruss
Lemmy
http:/www.olison.com
Guten Tag erstemal! (<-- wie's uns Muttern beigebracht hat)
Ich habe mit Namo ein Javascriptmenue erstellt, das laut Quelltext auch zumindest auf Netscape funktionieren sollte, was jedoch nicht funktioniert, kann mir jemand einen tipp geben, wie man das script für das Navigationsmenue so abändern kann, das es tatsächlich auf Netscape läuft ?
Ähem, wenn Du das Skript auch mal posten würdest, vielleicht...
Gruss
Lemmy
http:/www.olison.com
hi
sorry, war nicht so gemeint.
das ganze skript ist ein bischen lang, aber ich hab cheatah einen Teil zurückgepostet