A.html:
<form name = "form1" methode = "post" action = ""> <a href = "javaScript: void (null)" onclick = "öffnen ('b.html', '', 'resizable = 1, scrollbar = 1, status = no, toolbar = no, no, widthth = 500, height = 400, links = 150, top = 150, addth. name = "text1"> </form>B.html:
<script Language = "javaScript" type = "text/javaScript"> Funktion returnValue () {window.opener.document name = "returnText" type = "text" id = "returnText"> </p>Ergänzung: Verwendung von Fenster.opener
Im Allgemeinen wird die Verwendung von Fenster verwendet. Opener wird nur verwendet, um das Problem zu lösen, dass das Popup-Fenster beim Schließen eines Fensters nicht aufgefordert wird, aber das tiefere Verständnis davon ist im Allgemeinen geringer. Tatsächlich bezieht sich Window.Opener auf das Fenster, in dem die Methode von Fenster aufgerufen wird.
Es wird hauptsächlich verwendet, um teilweise Einreichungen bei der Arbeit zu lösen. Diese Art von Seite ist sehr hilfreich für die Arbeit.
Wenn Sie eine Seite im Hauptfenster öffnen und das Hauptfenster aktualisieren möchten, verwenden Sie das Fenster. Opener, das die Seite öffnet
Das Fenster des Hauptfensters.
Sie können die Aktualisierung des Hauptfensters verwenden
window.opener.location.reload ();
Wenn Sie ein virtuelles Verzeichnis verwenden: wie Struts*.do, werden Sie Sie auffordern, es erneut zu versuchen
Sie können es in window.opener.yourformName.submit () ändern.)
Das ist in Ordnung
2〉
Es gibt eine solche Situation in der Anwendung,
Öffnen Sie das Fenster B in Fenster A, schließen Sie das Fenster B nach dem Betrieb in Fenster B und aktualisieren Sie das Fenster A automatisch A.
function closewin () {hascLosed = true; window.opener.location = "javaScript: reloadPage ();"; window.close ();} function window.onbeforeUload () {if (! hasclosed) {Window.Opener.Location = "Javascript: reloadpage ();"}}} </scriptDer obige Code fordert einen Fehler auf, wenn das Fenster B B schließt. Damit fehlt das Objekt, und der richtige Code lautet wie folgt:
Funktion closewin () {hascLosed = true; window.opener.location = "javaScript: reloadPage ();"; Window.opener = null; window.close ();} function window.onbeforeLoad () {if (! hasclosed) {// Wenn die Methodie aus der Schließung nicht ausgeführt wurde, wurde diese Methode nicht ausgeführt, wurde ausgeführt. Diese Methode wurde ausgeführt, wurde ausgeführt. Die Methode wurde ausgeführt. window.opener.location = "javaScript: reloadPage ();";}} </script> ReloadPage -Methode ist wie folgt: Funktion reloadPage () {history.go (0); document.execcommand ("refresh") document.locationPS: Da es notwendig ist, die normale Schließung und das erzwungene Schließen des Fensters zu unterstützen, wird die globale Variable Hasclosed verwendet.
===================================================================
Zusätzlich treten Probleme auf, wenn das übergeordnete Fenster aufgebaut wird, wenn das übergeordnete Fenster ein Rahmen ist:
Die Seite kann nicht aktualisiert werden, ohne die Informationen wiederzugeben.
Die folgenden Änderungen sind wie folgt:
window.opener.parent.document.frames.item ('mainframe'). location.href = window.opener.location.href;
Es ist nicht erforderlich, die integrierte Reload () -Methode auszuführen. Achten Sie darauf, diesen Satz nicht hinzuzufügen:
window.opener.parent.document.frames.item ('Mainframe'). location.reload ();
=================================================================== ===================================================================
Um zu unterstützen, um sowohl das normale übergeordnete Fenster als auch das Fenster "Rahmen über Eltern" zu aktualisieren, lautet der Code wie folgt:
Funktion closewin () {hascLosed = true; <%if (null! = Frame) {%> window.opener.parent.document "JavaScript: reloadPage ();"; <%}%> // window.opener.top.mainframe.location = "JavaScript: reloadPage ();" // self.opener.frames.mainrame.Location.Location.Reload (true); {<%if (null! = Frame) {%> window.opener.parent.documentSo verwenden Sie window.opener
Window.opener gibt eine Referenz auf das Fenster zurück, in dem das aktuelle Fenster erstellt wird, beispielsweise auf einen Link auf A.HTM und das Öffnen von B.HTM. Dann planen wir, einen Wert auf B.HTM einzugeben und ihn dann einem Textfeld mit ID "Name" auf A.HTM zuweisen und dann als:
window.opener.document.getElementById ("name"). value = "Eingabedaten";
Es gibt kein gutes Verständnis von Windows.opener in JavaScript.
Warum kann es nicht im Rahmen verwendet werden? Das übergeordnete Fenster des Popup-Fensters kann nicht auf einer bestimmten Seite im Rahmen sein? Wie bedienen Sie das übergeordnete Fenster im Rahmen durch ein Popup-Fenster?
opener.parent.frames ['Framename']. document.all.input1.Value versuchen Sie dies :)
Wenn Sie die Seite im Frame -Frame auf andere Seiten unter demselben Rahmen oder im selben Seiten im übergeordneten Frame ändern möchten, verwenden Sie übergeordnete Seiten
window.opener bezieht sich auf die übergeordnete Seite der von window.open geöffneten Seite.
Das Objekt von Fenster.
Kann
window.frames [0] .document.getElementById ('xx');
Kann
window.frames [0] .document.body.innerhtml;
frm = window.parent.window.frames ['uploadframe'];
frmdocument = frm.document;
Frm.sb (3); // SB ist eine Funktion auf der Seite Uploadframe
Für Firefox
Wenn Sie auf einen Fehler stoßen: übergeordnet.dokument.frames hat keine Eigenschaften
Wechseln Sie einfach in den folgenden Code. Dieser Code ist mit IE und FF kompatibel. frm = window.parent.window.frames ['uploadframe']; Tatsächlich wird die Frames -Sammlung nicht im Dokument, sondern im Fensterobjekt aufgehängt.
Beachten Sie, dass es Einschränkungen beim Ändern der Seite im Rahmen auf diese Weise gibt, dh in derselben Domäne sein muss, sonst ist sie nicht zugänglich.
Wenn es sich unter derselben Domäne befindet, die Subdomain -Namen unterschiedlich sind, fügen Sie den beteiligten JS- und HTML -Dateien einen Satz hinzu.
document.domain = xxx.com [Füllen Sie Ihren Domänennamen hier aus] document.getElementById ('iframeid'). contentWindow.document
fragen:
Im übergeordneten Fenster. Open () ein untergeordnetes Fenster. und definieren Sie eine Variable i.
Geben Sie einen Wert j in das untergeordnete Fenster und das Fenster ein. Opener.i = j;
Auf diese Weise kann es passieren. Aber ich habe Fenster hinzugefügt.CLOSE () am Ende des Kinderfensters und konnte den Wert nicht übergeben.
Gibt es eine Möglichkeit, dieses Problem zu lösen? Lassen Sie mich den Wert bestehen, bevor ich das Kinderfenster schließe.
Der Code ist wie folgt:
Übergeordnetes Fenster: Parent.jsp
<Script> var i; window.open ('<%= contextPath%>/userManage/newscontrol/cd.jsp); </script> <input type = "button" onclick = "alert (i)">Sub-Window: CD.jsp
<Script> function subm () {window.opener.i = 5; window.close ();} </script> <input type = "taste" "onclick =" subm () ">1 Antwort
Sie können eine in das übergeordnete Fenster einfügen
<input id = "fromChild" type = "Hidden" /> <Eingabe type = "button" onclick = "alert (document.getElementById ('fromChild'). Wert)">Im Kinderfenster:
Funktion subm () {window.opener.documentDas ist in Ordnung
<Head> <script language = javaScript> FunktionsfensterClose () {window.opener = null; window.close ();} </script> </head> <body> <input id = "Button1" type = "button" value = "button" onclick = "Windowsclose ()"/> </body>Das obige einfache Beispiel für den Rückgabewert des JS-Popup-Fensters ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.