j'ai juste besoin d'appeler la fonction dans la fenêtre parent pendant que l'utilisateur se concentre sur la fenêtre enfant. j'ai ce code dans ma fenêtre parent,
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="Javascript" type="text/javascript">
function CallParent()
{
alert(" Parent window Alert");
}
</script>
<body>
<a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick=window.open("child.html","Ratting","width=550,height=170,0,status=0,");>Click here to open the child window</a>
</body>
</html>
et le code ci-dessous est dans ma fenêtre enfant,
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="Javascript" type="text/javascript">
jQuery(document).ready(function(){
window.opener.CallParent();
});
</script>
</head>
<body>
<h2>This is Child window</h2>
</body>
</html>
so..dans ce cas, je supposais que CallParent()
serait tiré juste après l'ouverture de la fenêtre enfant. mais cela ne semble pas fonctionner. quelqu'un peut-il me donner des conseils pour faire fonctionner ce script, ou une meilleure façon de le faire.
Utilisez ceci
window.parent.CallParent();
au lieu de
window.opener.CallParent();
window.parent
contient une référence au parent de la fenêtre ou du sous-cadre actuel.
Si une fenêtre n'a pas de parent, sa propriété parent
est une référence à elle-même.
Lorsqu'une fenêtre est chargée dans un <iframe>
, <object>
, ou <frame>
, son parent est la fenêtre avec l'élément incorporant la fenêtre.
Référence: https://developer.mozilla.org/en-US/docs/Web/API/Window/parent
Essayez quelque chose comme ci-dessous:
parent.html
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="Javascript" type="text/javascript">
window.CallParent = function() {
alert(" Parent window Alert");
}
</script>
<body>
<a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick=window.open("child.html","Ratting","width=550,height=170,0,status=0,");>Click here to open the child window</a>
</body>
</html>
child.html
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="Javascript" type="text/javascript">
jQuery(document).ready(function(){
opener.CallParent();
});
</script>
</head>
<body>
<h2>This is Child window</h2>
</body>
</html>
Vous ne devriez pas faire cela sur le parent, sinon opener.CallParent () ne fonctionnera pas, faisant window.CallParent rend CallParent disponible comme portée de fenêtre:
function CallParent() {
alert(" Parent window Alert");
}
Et puis vous pouvez simplement appeler opener.CallParent();
pas window.opener.CallParent();
.
J'ai utilisé le code suivant parent.html
<html>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="Javascript" type="text/javascript">
function CallParent()
{
alert(" Parent window Alert");
}
</script>
<body>
<a href="javascript:void(0);" NAME="My Window Name" title=" My title here " onClick=window.open("child.html","Ratting","width=550,height=170,0,status=0,");>Click here to open the child window</a>
</body>
</html>
child.html
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script language="Javascript" type="text/javascript">
window.opener.CallParent();
</script>
</head>
<body>
<h2>This is Child window</h2>
</body>
</html>