Recimo da B otvaraš klikom da dugme iz A...
Code:
<button onclick="prozor = window.open ('http://localhost/pop.up.html', 'mypopup', 'width=320,height=240'); this.style.display = 'none';">otvori B</button>
... i da fajl pop.up.html ima sledeće....
Code:
<body onunload="opener.reloadIfPopupClosed ();">
... što poziva funkciju iz A...
Code:
<script>
function reloadIfPopupClosed ()
{
setTimeout ('_reloadIfPopupClosed ()', 1000);
}
function _reloadIfPopupClosed ()
{
if (typeof (prozor.document) == 'unknown' || prozor.document == null)
{
location.reload ();
}
}
</script>
Treba da se proveri da li je B zatvoren, a u trenutku zatvaranja još nije zatvoren pa sa setTimeout odlažemo proveru za jednu sekundu (može da se postavi i više, ako se ovo tera kompjuterima koji grbave s memorijom).
E sad, radi u IE, radi u FF (to su one 2 provere, za svakog ponešto), ali ne radi u Operi jer ne okida onunload pri gašenju prozora . . . Nemam pojma može li na neki način da se ulovi ovaj događaj, a takođe nemam ni preostale browsere za testiranje.