Wie kann ich auf einen Frame warten?
Meinolf
- javascript
0 CK1
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
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