Hallo!
habe mit alert() überprüft:
<a href="#" target="content" onclick="alert(document.layer)">Internet Cafes</a>
browser sagt: "undefined"
Klar sagt der undefined!
Du solltest das alert wie bei meinem Beispiel in die Funktion einbauen.
function zeigen(name) {
alert(name);
if (ns) {
parent.content.document.layers[''+name].visibility = "show";
}
else {
parent.content.document.all.layers[''+name].style.visibility = "visible"
}
}
Kommst Du überhaupt ins andere Frame?
Erstelle einen Link im Frame "navi". Mit dem rufst Du eine Funktion im Frame "content" auf.
//"navi"
<a href="JavaScript:parent.frame.ichbindrin()">Testen</a>
//"content"
function ichbindrin()
{
alert("Ich Bin Drin");
}
habe aber die ebene definiert:
1.) <STYLE TYPE="text/css">
#new {position: absolute; visibility: visible; left: 200px; top: 240px;}
</STYLE>
2.) <DIV ID="new" style="left: 602px; top: 0px; width: 178px; height: 434px; z-index: 0">
usw...
new also Layername, nicht gut. new wird zwar als "String" übergeben, aber der Browser könnte sich dran stören. Denke Dir also Namen aus, die nicht zu den reservierten Wörtern gehören.
Schaue Dir mal die Liste reservierter Wörter an: http://selfhtml.teamone.de/javascript/sprache/reserviert.htm
Im IE gibt es einen kleinen Bug. Der IE stört sich oft an Layernamen, die auch nicht zu den reservieren Wörtern gehören. Ich setze dann einen Buchstaben vor den Layernamen und dann geht es.
MfG, André Laugks