Cześć, sytuacja wygląda tak.
Mam jeden plik (nazwijmy go "opener.html"), który otwiera plik inny za pomocą funkcji JS:
function popup(url, title = '', width = 200, height = 200, onClose = null)
{
//obliczam środek ekranu
left = (screen.width / 2) - (width / 2);
top = (screen.height / 2) - (height / 2);
if (title != '')
show_title = 'yes';
else
show_title = 'no';
//otwieram okno
wnd = window.open(url, title, 'height='+height+';width='+width+';left='+left+';top='+top+';location=no;menubar=no;' + 'resizable=yes;scrollbars=no;status=yes;titlebar='+show_title+';toolbar=no');
//przypisuję procedurę, która ma się wykonać podczas zamykania
if(onClose != null)
wnd.onBeforeunload = onClose;
}
Niby wszystko wygląda prosto, jednak nie działa.
Procedura jest wywoływana następująco(opener.html):
<a rel="nofollow" href="#" onclick="popup('link.php?parametry', 'Tytuł okna', 200, 500, data_change);">
gdzie "data_change" to nazwa procedury w "opener.html", która ma się wykonać.
Testuję na Firefox. Nic się nie dzieje. Procedura się nie wywołuje, a Firefox nie zgłasza żadnego błędu. Co tu jest nie tak? Próbowałem też ze zdarzeniem: "wnd.onUnload", ale sytuacja jest taka sama. Okno jest zamykane przez window.close().