Detlef G.: Zugriff auf Elemente in noch nicht geladenen Frames

Beitrag lesen

Hallo Roland

Zu Deiner Lösungsbeschreibung noch zwei kurze (wahrscheinlich dumme) Fragen:

Die Fragen waren gar nicht so dumm. Ich hatte mich ein wenig geirrt. Nicht das Vorhandensein der Funktion sondern einer Variablen hattte ich geprüft, und im Inhaltsframe auch eine dort gesetzte Variable.

Durch "onload" im leftframe aufgerufen:

/* die IDs der Menüpunkte
   ein leeres Element, weils mit 0 nicht funktioniert*/
Punkte=new Array('', 'm7a','m7b','m7c','m7d','m7e','m7f','m7g');

function markit()
{

/* den "richtigen" Eintrag markieren und
   evtl. vorher markierte Menüeinträge auf normal setzen */
  if (parent.rightframe && parent.rightframe.Punkt && document.getElementById) {
   for (var i=1;i<Punkte.length;i++)
   { obj=document.getElementById(Punkte[i]).style;
    if (parent.rightframe.Punkt == i) {
     obj.borderBottom="2px solid #c00000";
     obj.borderLeft="2px solid #c00000"; }
    else
     obj.borderLeft="0px";
   }
  }
 /* bestätigt, dass Navi fertig geladen ist */
 geladen=true;
}

Dito im rightframe:

<!--
 Punkt=1;
 function marke () {
  if (parent.leftframe && parent.leftframe.geladen) {
   parent.leftframe.markit();}
}
//-->

So müsste es funktionieren und auch Fehlermeldungen in Browsern vermeiden, die document.getElementById nicht kennen. Allerdings nicht lange getestet.

MFG
Detlef

--
- Wissen ist gut
- Können ist besser
- aber das Beste und Interessanteste ist der Weg dahin!