J'ai une fenêtre contextuelle ouverte en utilisant window.open()
. Ce que je veux maintenant, c'est qu'un utilisateur puisse cliquer sur l'un des 2 liens dans cette nouvelle fenêtre: "Autoriser" ou "Ne pas autoriser".
Lorsqu'un utilisateur clique sur l'un de ces liens, la fenêtre "popup" doit se fermer et renvoyer "autoriser" ou "interdire" ou quelque chose dans ce sens, true
/false
ferait l'affaire , à la fenêtre parent.
C'est possible? Si c'est le cas, comment?
Code:
var authWindow = window.open('auth.php', 'authWindow', 'options...');
Ensuite, seulement 2 ancres à l'intérieur auth.php
?
Dans la fenêtre appelante (parent), ajoutez un tel code JS:
function HandlePopupResult(result) {
alert("result of popup is: " + result);
}
Dans le code de la fenêtre enfant, ajoutez ceci:
function CloseMySelf(sender) {
try {
window.opener.HandlePopupResult(sender.getAttribute("result"));
}
catch (err) {}
window.close();
return false;
}
Et avoir de tels liens pour fermer la fenêtre contextuelle:
<a href="#" result="allow" onclick="return CloseMySelf(this);">Allow</a>
<a href="#" result="disallow" onclick="return CloseMySelf(this);">Don't Allow</a>
vous pouvez utiliser window.opener
pour ça.