Fermer la fenêtre popup s'il existe
Avec un peu de javascript (je openup un popup pas de prob à l'aide de:
function myPopup2(x){
if (x==1)
{
myWindow = window.open( "timer.html", "", "height = 150, width = 300" );
}else
{
myWindow.close();
}
}
Je puis exécuter du script PHP qui refreshs recharge la page.
Lorsque plus tard, je puis aller pour fermer la fenêtre contextuelle - ce n'est pas le cas, parce que la page a été rechargée et mafenêtre variable disparu. 'mafenêtre' est indéfini est l'erreur de javascript.
Ce que quelqu'un sait comment je peux contourner ce problème?
OriginalL'auteur thegunner | 2009-07-01
Vous devez vous connecter pour publier un commentaire.
Si vous donnez la fenêtre de votre nom quand vous l'ouvrez, il est possible d'obtenir un handle de la fenêtre plus tard.
Vous venez de me battre pour elle!..une belle.
Mais il faudra travailler sans l'instruction if. :S mafenêtre = fenêtre.open("", "nomfenêtre"); myWindow.close();
didn';t besoin de l': if (!mafenêtre) { bits
Lorsque la fenêtre n'est pas ouverte, la déclaration
window.open("", "windowName");
affiche une fenêtre vide etmyWindow.close();
ferme. Comme résultat, vous verrez une fenêtre qui s'ouvre et se ferme, ce qui provoque un effet néfaste. Est-il un moyen pour éviter cela?OriginalL'auteur Matt Bridges
Comme indiqué ici: http://www.faqts.com/knowledge_base/view.phtml/aid/1460
fenêtre.open() prend un deuxième paramètre, qui est le nom de la fenêtre. Lors de l'actualisation, vous pouvez vérifier l'état de la fenêtre et fermer si nécessaire. Comme expliqué dans le lien, il n'y a pas de moyen direct pour vérifier la fenêtre après l'actualisation, de sorte que vous avez à faire quelque chose comme ceci:
et ensuite fonctionner sur de gagner.
(edit: je initally avait une deuxième idée impliquant les cookies, mais je ne pense pas que vraiment vous permet d'économiser quoi que ce soit, puisque vous reste encore à faire le ci-dessus pour accéder à la fenêtre.)
OriginalL'auteur sprugman
Demandez à l'enfant de fenêtre exécuter une fonction toutes les quelques secondes pour vérifier la fenêtre parent pour un indicateur qui signale qu'il doit la fermer. La fenêtre parent peut définir le drapeau sur le recharger au lieu d'essayer de traquer l'enfant.
OriginalL'auteur Scott Stevenson
Je suppose que vous ne pouvez pas. Cause de la fenêtre enfant (timer.html) perd sa connexion à la fenêtre parent dès que vous l'actualiser. Il serait très effrayant, si vous pouvez fermer chaque fenêtre de partir dans une autre fenêtre sans aucune référence entre les deux.
OriginalL'auteur Philippe Gerber