J'ai une application qui a une fenêtre "parent". Dans la fenêtre parent il y a des éléments de menu, comme les suivantes (en utilisant PHP ici):Données persistantes avec Javascript
// sample link
echo "<li><a href=\"#\" onclick=openurl('covershift.php');>Shift Coverage</a></\
li>";
// logout link
echo "<li><a href=\"#\" onclick=openurl('logout');>Logout</a></li>";
Chaque lien ouvre la page appropriée dans une autre fenêtre « enfant ». Lorsque le parent ferme toutes les fenêtres enfants doivent se fermer. Je l'ai mis en œuvre cette fonctionnalité avec Javascript, voici la fonction:
var childWindow = new Array();
var windowCount = 0;
function openurl(url)
{
if(url != 'logout') {
childWindow[windowCount]=window.open(url,'_blank','height=600,width=800,scr\
ollbars=1');
windowCount++;
if (window.focus) {
childWindow.focus();
}
} else {
var iCount;
for (iCount=0; iCount < windowCount; iCount++) {
if ((childWindow[iCount] != null) && !(childWindow[iCount].closed)) {
childWindow[iCount].close();
}
}
window.location='logout.php';
}
}
Voici mon problème, lorsqu'un utilisateur la fenêtre recharge parent et clique puis déconnectez, les fenêtres enfants restent ouvertes. Cela est logique lorsque le tableau childWindow est perdu lorsque le parent est rechargé.
Comment puis-je rendre le tableau childWindow persistant via un rechargement?
Merci!
Jonathon, Merci pour la réponse rapide. Les deux solutions ont leurs mérites. Le premier est sympa car il nécessite une modification en un seul endroit. Le seul problème que je puisse prévoir avec la première solution est qu'un utilisateur peut vouloir conserver ses données sur les fenêtres enfants et simplement recharger la fenêtre parent. La deuxième solution ne fonctionnera probablement pas en raison du comportement de l'utilisateur. Les utilisateurs de mon application sont connus pour simplement cliquer sur les boutons, et, par conséquent, pourraient accidentellement fermer le parent et m'appeler avec un rapport de bug :-). S'il n'y a aucun moyen de faire persister les données, j'irai avec l'option 1. Merci! –