Il codice seguente permette di chiudere un popup alla chiusura della finestra chiamante, SOLO se la pagina richiamata è dello stesso sito.
Se provo ad aprire una pagina di un sito esterno, non riesco più a chiuderla in automatico.

Ma aiutereste a capire dove sbaglio?


codice:
window.onunload = function()
    {
        PopClose(w_chiamante_popup);
    };


var w_chiamante_popup = null;
function apri_chiamante_popup(aggiungi, id)
{
    var pagina = "http://forum.html.it/forum/forumdisplay.php?s=&forumid=3";
    var w = 600, h = 400, t = 100, l = 400; w += 4; h += 4;
	var stile = ""
	    + ",left=" + l
	    + ",top=" + t
	    + ",height=" + (h - 4)
	    + ",width=" + (w - 4)
	    + ",resizable=yes"
	    + ",scrollbars=yes"
	    + ",menubar=no"
	    + ",status=no"
	    + ",directories=0"
	    + ",location=0"
	    + ",toolbar=0";
	
	var nome = "chiamante_popup";
	
    w_chiamante_popup = window.open(pagina, nome, stile);
    if(w_chiamante_popup) w_chiamante_popup.focus();

}


function PopClose(finestra) 
{
	try {if (finestra != null && finestra.open ) finestra.close(); } catch(e){};
}