javascript fenster steuern
Benedikt Rust
- javascript
hallo
ich habe ein kleines Prob!!!
ich will beim klick auf einen Button ein fenster öffnen,in dem irgendwas steht in der zwischen zeit soll in dem frame aus dem das fenster geöffnent wurde sich neu laden und wenn es fertig ist das fenster wieder schließen. ich hab es mit diesem code versucht aber ich bekommen keien zugriff mehr auf das fenster wenn sich die seite geändert hat.
aufruf
function winopen(){
p = window.open("status.php");
p.document.open();
p.document.write('Dies ist ein PopUp!');
}
Schließen
<!--
p.document.close();
//-->
ich hoffe es hat einer eine idee!!
MFG Benedikt
Hi,
ich fürchte, afaik, gibt es da keine möglichkeit.
Das neue Fenster gliedert sich in das Dom des vorhandenen Fensters ein, als Child. verschwindet das Elternobjekt, ist damit auch die Referenz auf das PopUp verschwunden.
du könntest hier allerdings tricksen, und einen zusätzlichen Frame einbauen, der das PopUp öffnet, im gegensatz zu allen anderen Frames NICHT neue geladen wird, und nach dem Laden der anderen Seite das PopUp wieder schließt. Da er als Opener noch vorhanden ist, sollte dieser Frame das PopUp noch kennen.
Ich hoffe das hilft.
Gruß
Phil
kann ich mir nicht einfach p merken??
wo und wie willst du dir denn p merken?
wenn du alle angezeigten seiten neu lädst, bzw. reicht eigentlich die, die das popup öffnet, gehen alle informationen verloren, und die seite wird auf ihren initialisierunsgstatus gesetzt. ich nehme mal an, dass es da kein popup gibt?
also gibt es nach dem neuladen für die seite keine popup mit dem namen p.
du kannst dir natürlich irgendwie merken, dass das popup p heisst,
nur leider ist die Dom Referenz, über die du auf das popup zugreifst weg.
ich nehme mal an, du willst inetwa so auf das popup zugreifen:
document.p.close() o. einfach nur
p.close()
so, udn was ist p hier? p ist ein objekt, dass erzeugt wurde. allerdings nicht von dieser seite, und daher kennt sie p nicht.
nur die seite, die p kennt, kann auf p zugreifen.
da diese allerdings neu geladen wurde, kennt sie p eben nicht. du brauchst also eine seite, die nicht neu geladen wird, und die Referenz auf p halten kann.
Bau dir einfach nen 1 pixel großen frame irgendwohin, dne sieht niemand, der stört niemanden, und er kann dir alles speichern was du willst ;-)