Dateiübergreifendes Ansprechen der Fensterinstanz
Iris Schulz
- javascript
0 urmel
Hallo zusammen,
ich habe jetzt schon in verschiedenen Quellen recherchiert aber keine Lösung für mein Problem gefunden - vielleicht hab ich es auch nur irgendwie verpeilt.
Ich mache aus einem Hauptfenster ein Child-Window (1) auf.
In diesem befindet sich ein Formular welches bei Absenden ebenfalls ein Childwindow (2) öffnet welches ein "Bitte warten" anzeigt, und zwar so lange, bis in Childwindow (1) eine neue Seite geladen ist, dann soll es sich schließen.
In der Formlar-Datei in Childwindow (1) befindet sich:
<script language="JavaScript" type="text/JavaScript">
function openWin(theURL,winName,features) { //v2.0
childf = window.open(theURL,winName,features);
childf.focus();
window.location.href='ergebnis.htm';
}
function fenster_zu() { childf.close();}
</script>
Bei Betätigen eines Links sende ich die Daten ab und öffne Childwindow (2) mit: javascript:open_Win('child2.htm','childf','scrollbars=no,status=yes,width=680,height=500,left=98,top=0')">
Wie kann ich denn jetzt aus der Datei ergebnis.htm die Fensterinstanz childf aufrufen?
Alles was ich probiert habe hat leider nicht funktioniert.
Danke und Gruß
Iris
Hallo Iris,
also das kannst du leicht mit einer kleinen abfrage regeln
ne art triggerfunktion die alle 10 millisekunden einen bestimmten wert überprüft.
schau dir dazu einfach folgenden code an:
*****************************************************
childwindow(1) name:test.htm
*****************************************************
<HTML><HEAD><TITLE> New Document </TITLE>
<script language="JavaScript" type="text/JavaScript">
function openwin(theURL,winName) {
childf = window.open(theURL,winName);
childf.focus();
//window.location.href='test3.htm
setTimeout("window.location.href='test3.htm'","2000");
//das setTimeout simuliert in diesem fall die uploadzeit welche du bei deinem script dann einfach rausnimmst.
}
</script>
</HEAD>
<BODY>
<a href="#" onClick="openwin('test2.htm','hans');">test</a>
</BODY>
</HTML>
*****************************************************
childwindow(2) "bitte warten fenster" name:test2.htm
*****************************************************
<html><head><title>asd</title>
<script type="text/javascript">
<!--
function trigger(){
if(!opener.childf)
close();
else
setTimeout("trigger()","100");
}
trigger();
//-->
</script>
</head>
<body>
Bitte warten
</body>
*****************************************************
name:test3.htm
*****************************************************
hier steht irgendein qeuelltext, du solltest darauf achten das du in text3.htm keine javascript variable mit dem namen "childf" hast.
Da die abfrage lautet, ob diese variable existiert.
Ich hoffe ich konnte dir helfen.
Bin mir sicher das es noch andere möglichkeiten bzgl. deines problems gibt, aber bekanntlich führen 1000 wege zum ziel.
mfg urmel
Hallo Urmel,
vielen Dank für die schnelle Hilfe. So rum ist das ja auch viel eleganter als wie ich das immer versucht habe ...
Gruß
Iris