Script Error
Sandra Weissengruber
Hi Kollegen, wir haben da ein kleines problem mit NC 4.
entweder übersehen wir was ich weiss es nicht.
wenn mir da bitte wer helfen könnte, wäre ich sehr dankbar.
Sandra
unter IE 4 läuft das alles wunderbar (ist auch mit frontpage gebaut)
wenn man das ganze unter netscape betrachtet kommt folgendes:
JavaScript Error: http:////Sandra/fingerspiel.html, line 25:
document.layers["" + name] has no properties.
hier der code:
<html>
<head>
<link rel="STYLESHEET" href="../s_style.css" type="text/css"> (hat für das problem aber keine bedeutung)
<script language="javascript">
<!-- auskommentieren
if (((navigator.appName == "Netscape") && (parseInt(navigator.appVersion.substring(0,1)) >=3))
|| ((navigator.appName == "Microsoft Internet Explorer")&&(parseInt(navigator.appVersion.substring(0,1))
=4)))
{var version=true}
/* Browserabfrage: Layer-Object bekannt? */
if (document.layers)
{ns = 1; ie = 0;}
else {ns = 0; ie = 1;}
/* Funktion Dokument initialisieren */ /* Besser: Macromedia Script */
function initm() {if (ns) layer = document.MENU;
if (ie) layer = MENU.style;
}
/* Funktion Schicht anzeigen */
function show(name) {if (ns)
{document.layers['' + name].visibility = "show";}
else
{document.all['' + name].style.visibility = "visible";}
}
function hide(name) {if (ns)
{document.layers['' + name].visibility = "hide";}
else
{document.all['' + name].style.visibility = "hidden";}
}
/* Menu-Ebene verschieben rechts */
function movel() {if(ns)
{document.MENU.left=-50;}
else
{MENU.style.left=-50;}
}
/* Menu-Ebene verschieben links */
function mover(){if(ns)
{document.MENU.left=-210;}
else
{MENU.style.left=-210;}
}
//-->
</script>
der Rest der Seite: (steht auf http://members.aon.at/weissengruber/Sandra/fingerspiel.html)
Sandra
unter IE 4 läuft das alles wunderbar (ist auch mit frontpage gebaut)
wenn man das ganze unter netscape betrachtet kommt folgendes:
JavaScript Error: http:////Sandra/fingerspiel.html, line 25:document.layers["" + name] has no properties.
hier der code:
{document.layers['' + name].visibility = "show";}
Tja, leider geht das so nicht . Du kannst den Layer entweder nur mit dem Index oder über das Objekt ansprechen d.h. document.layers[1] oder document.layers.meinlayer. Als workaraound kann ich dir das anbieten:
z = document // oder wo/was auch immer kannste natürlich auch fest einbauen.
function getindex(namen,z)
{
for (q=0 ;q<z.layers.length; q++)
{
if (z.layers[q].name == namen) return q
}
return false
}
dann in der form aufrufen:
document.layers[getindex(name,document)].machedas
Timo
danke timo, für den tip
war ganz korrekt, nur das problem war viel subtiler.
selbiges beispiel stammt aus weblehre.de (dhtml/menu.html)
und das läuft ja, wie man sieht.
unser fehler war ganz einfach: <p>......</p> im layer.
NC verträgt offensichtlich keine absätze in einem layer
war im endeffekt nicht schwierig
gruss christian
Sandra
unter IE 4 läuft das alles wunderbar (ist auch mit frontpage gebaut)
wenn man das ganze unter netscape betrachtet kommt folgendes:
JavaScript Error: http:////Sandra/fingerspiel.html, line 25:document.layers["" + name] has no properties.
hier der code:
{document.layers['' + name].visibility = "show";}
Tja, leider geht das so nicht . Du kannst den Layer entweder nur mit dem Index oder über das Objekt ansprechen d.h. document.layers[1] oder document.layers.meinlayer. Als workaraound kann ich dir das anbieten:
z = document // oder wo/was auch immer kannste natürlich auch fest einbauen.function getindex(namen,z)
{
for (q=0 ;q<z.layers.length; q++)
{
if (z.layers[q].name == namen) return q}
return false
}
dann in der form aufrufen:
document.layers[getindex(name,document)].machedasTimo