a.html:
<form name = "form1" metheth = "post" action = ""> <a href = "javascript: void (null)" onclick = "open ('b.html', '', 'reizable = 1, scrollbars = 1, status = no, toolbar = no, menu = no, width = 500, height = 400, gauche = 150, top = top = 50')") name = "text1"> </ form>B.HTML:
<script lingots = "javascript" type = "text / javascript"> function returnValue () {window.opener.document.all.text1.value = document.getElementyid ("returnText"). Value; window.close ();} </ script> <intrut type = "bouton" name = "souprect" type = "text" id = "returntext"> </p>Supplément: utilisation de Window.Opener
En général, l'utilisation de Window.Opener n'est utilisée que pour résoudre le problème que la fenêtre contextuelle n'est pas invitée lors de la fermeture d'une fenêtre, mais la compréhension plus profonde est généralement moins. En fait, Window.Opener fait référence à la fenêtre qui appelle la méthode Window.Open.
Il est principalement utilisé pour résoudre des soumissions partielles dans le travail. Ce type de propagation de page est très utile pour le travail.
Si vous ouvrez une page dans la fenêtre principale et que vous souhaitez que la fenêtre principale soit actualisée, utilisez-le, la fenêtre.Opener qui ouvre la page est équivalente à
La fenêtre de la fenêtre principale.
Vous pouvez utiliser le rafraîchissement de la fenêtre principale
window.opener.location.reload ();
Si vous utilisez un répertoire virtuel: tels que des jambes de force * .DO, vous vous inviterez à réessayer
Vous pouvez le changer en window.opener.yourformname.sumit ()
C'est très bien
2〉
Il y a une telle situation dans la demande,
Ouvrez la fenêtre B dans la fenêtre A, fermez la fenêtre B après l'opération dans la fenêtre B et actualiser automatiquement la fenêtre A
fonction closewin () {hasclosed = true; window.opener.location = "javaScript: reloadpage ();"; window.close ();} function window.onbeforeunload () {if (! hasclosed) {window.opener.Location = "javascript: reloadPage ();";}} </script>Le code ci-dessus invitera une erreur lors de la fermeture de la fenêtre B, disant que l'objet est manquant, et le code correct est le suivant:
fonction closewin () {hasclosed = true; window.openner.location = "javascript: reloadpage ();"; window.oopener = null; window.close ();} function window.onbeforeunload () {if (! hascosed) {// Si la méthode de clôture a été exécutée, cette méthode n'est pas exécutée) window.opener.location = "javascript: reloadPage ();";}} </script> La méthode de reloadPage est la suivante: la fonction reloadpage () {history.go (0); document.execcommand ("refresh") document.location = document.location; document.location.reload ();}PS: Puisqu'il est nécessaire de soutenir la fermeture normale et la fermeture forcée de la fenêtre, la variable globale a été utilisée.
========================================================================.
De plus, des problèmes se produisent lors de la rafraîchissement de la fenêtre parent lorsque la fenêtre parent est un cadre:
La page ne peut pas être rafraîchie sans renvoyer les informations.
Les modifications suivantes sont les suivantes:
window.opener.parent.document.frames.item ('mainframe'). location.href = window.openner.location.href;
Il n'est pas nécessaire d'exécuter la méthode Reload () intégrée. Faites attention à ne pas ajouter cette phrase:
window.opener.parent.document.frames.item ('mainframe'). location.reload ();
=======================================================================. =======================================================================.
Enfin, afin de prendre en charge la rafraîchissement à la fois la fenêtre parent normale et la fenêtre parent du cadre, le code est le suivant:
fonction closewin () {hasclosed = true; <% if (null! = frame) {%> window.oopener.parent.document.frames.item ('mainframe'). location.href = window.oopener.location.href; <%} else {%> window.opener.location = "JavaScript: reloadPage ();"; <%}%> // window.opener.top.mainframe.location = "javascript: reloadpage ();"; // self.oopener = null.mainframe.location.reload (true); window.opener = null; window.close ();} function window.onforefore {<% if (null! = frame) {%> window.oopener.parent.document.frames.item ('mainframe'). location.href = window.oopener.location.href; <%} else {%> window.opener.Location = "javascript: reloadPage ();"; <%}%> windowComment utiliser Window.Opener
Window.Opener renvoie une référence à la fenêtre qui crée la fenêtre actuelle, par exemple, en cliquant sur un lien sur A.HTM et en ouvrant B.HTM. Ensuite, nous prévoyons d'entrer une valeur sur B.HTM, puis de l'attribuer à une zone de texte avec ID "Nom" sur A.HTM, puis l'écrivez comme:
window.oopener.document.getElementById ("Name"). Value = "Input Data";
Il n'y a pas de bonne compréhension de Window.Opener dans JavaScript.
Pourquoi ne peut-il pas être utilisé dans le cadre? La fenêtre parent de la fenêtre contextuelle ne peut pas être sur une certaine page dans le cadre? Alors, comment utilisez-vous la fenêtre parent dans le cadre via une fenêtre contextuelle?
ouverter.parent.frames ['Framename']. document.all.input1.value essayez ceci :)
Si vous souhaitez modifier la page dans le cadre du trame par d'autres pages sous la même image ou pages dans le cadre parent, utilisez le parent
Window.Opener fait référence à la page parent de la page ouverte par Window.Open.
L'objet Window.frames peut se référer à la page dans l'IFRAME ou la page dans le jeu de cadres.
Peut
window.frames [0] .Document.getElementById ('xx');
Peut
window.frames [0] .Document.body.innerHTML;
frm = window.parent.window.frames ['uploadFrame'];
FrmDocument = FRM.Document;
FRM.SB (3); // SB est une fonction dans la page UploadFrame
Pour Firefox
Si vous rencontrez une erreur: Parent.Document.frames n'a pas de propriétés
Passez simplement au code suivant. Ce code est compatible avec IE et FF. frm = window.parent.window.frames ['uploadFrame']; En fait, la collection Frames n'est pas suspendue dans le document mais dans l'objet Window.
Notez qu'il existe des restrictions sur la modification de la page dans le cadre de cette manière, c'est-à-dire qu'elle doit être dans le même domaine, sinon elle ne sera pas accessible.
S'il est sous le même domaine mais que les noms de sous-domaine sont différents, ajoutez une phrase aux fichiers JS et HTML impliqués.
document.domain = xxx.com [Remplissez votre nom de domaine ici] document.getElementById ('iframeId'). ContentWindow.Document.getElementById ('SomeElementId');
demander:
Dans la fenêtre parent de la fenêtre.open () une fenêtre enfant. et définir une variable i.
Entrez une valeur j dans la fenêtre enfant et la fenêtre.openner.i = j;
De cette façon, il peut passer. Mais j'ai ajouté Window.close () à la fin de la fenêtre enfant et je n'ai pas pu passer la valeur.
Existe-t-il un moyen de résoudre ce problème? Faites-moi passer la valeur avant de fermer la fenêtre de l'enfant.
Le code est le suivant:
Fenêtre parent: parent.jsp
<script> var i; window.open ('<% = contextPath%> / usermanage / newsControl / cd.jsp); </cript> <entrée type = "bouton" onClick = "alert (i)">Sous-fenêtre: cd.jsp
<cript> fonction sub () {window.opener.i = 5; window.close ();} </cript> <input type = "bouton" onClick = "sub ()">1 réponse
Vous pouvez en mettre un dans la fenêtre parent
<input id = "FromChild" type = "Hidden" /> <input type = "Button" onClick = "alert (document.getElementById ('FromChild'). Valeur)">Dans la fenêtre de l'enfant:
fonction subM () {window.opener.document.getElementByid ('FromChild'). Value = 5; Window.Close ();}C'est ok
<A-head> <script linguisse = javascript> function windowClose () {window.opener = null; window.close ();} </ script> </ head> <body> <input id = "Button1" type = "Button" value = "Button" onClick = "windowClose ()" /> </ body>L'exemple simple ci-dessus de la valeur de retour de la fenêtre contextuelle JS est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.