Meinolf: Wie kann ich auf einen Frame warten?

Hallo Forum,

wie kann innerhalb einer Funktion Java Script
anhalten, solange bis ein anderer Frame
sich komplett aufgebaut hat und bestimmte
variablen dynamisch gesetzt sind?

Ich habe folgendes schon ausprobiert:

// Check date
if( doSubmit
  this.document.all['plan_start_date'].value.length > 0 ){
  top.submit_frame.location.href =
    'submit.jsp?submitMethod=CHECK-OVERVIEW-DATE  
     &plan_start_date='+this.document.all['plan_start_date'].value+'
     &id_name=plan_start_date';

// DIESES INTERVALL SOLL SOLANGE DIE METHODE CHECKWAITFLAG
  // AUFRUFEN, BIS IM SUBMIT_FRAME FRAME EIN FLAG NACH DEM AUFBAU  
  // GESETZT WORDEN IST

this.activ = this.setInterval( checkWaitFlag, 10);
  top.submit_frame.waitFlag = null;
  if( top.submit_frame.errorFlag ){
    return false;
  }
  top.submit_frame.errorFlag = true;
}

function checkWaitFlag(){
  if( top.submit_frame.waitFlag != null ){
    this.clearInterval( this.activ );
    top.submit_frame.waitFlag = null;
  }
}

Dieses funktioniert aber nicht richtig, da
das Intervall als paralleler Thread abläuft und
somit die Methode unmittelbar bis zum Ende
durchläuft.

Ich brauche aber einen Effekt wie er zum
Beispiel bei 'alert' eintritt, dh. der
Prozess dieses Frames angehalten wir.

Hat jemand eine Idee wie ich das hinbekomme
oder anders machen kann?

Ich hatte auch schon eine Idee mit selbstdefinierten
events zu arbeiten, diese werden aber erst ab IE 5.5
unterstützt, womit diese Idee sich erledigt hat.

Gruß
Meinolf

  1. Hi,

    wie kann innerhalb einer Funktion Java Script
    anhalten, solange bis ein anderer Frame
    sich komplett aufgebaut hat und bestimmte
    variablen dynamisch gesetzt sind?

    Du könntest in dem einen Frame eine globale Variable
    definieren:

    geladen = false;

    Dann eine Schleife:

    while(geladen) { }

    So, wenn der andere Frame komplett geladen ist (Event
    onload im Body) und setzt dann die Variable im anderen
    Frame auf true:

    parent.framename.geladen = true;

    Dann sollte die Schleife wieder beendet werden.
    (Achtung: nicht getestet)

    mfg
    CK1