Caixa pop-up na saída da página

O que estou tentando fazer é criar uma caixa pop-up sempre que uma página sair ou for navegada para fora dela. Agora eu tenho

<script type="text/javascript">
function box()
{
    var r=confirm("Message");
    if (r==true)
    {
        window.location.href="yes.html";
    }
    else
    {
        window.location.href="no.html";
    }
}
</script>


<body onunload="box();">

Eu tenho 2 problemas com isso:

Ela só mostra a caixa se você realmente sair da página, atualizar, nova url etc. Se você sair da guia ou do navegador, a caixa não será exibida.

Não importa o botão que você pressiona, ele apenas lhe envia para onde você tentou ir originalmente, ele nunca o envia parano.html ouyes.html.

Alguém poderia me dizer como isso é possível?

questionAnswers(1)

yourAnswerToTheQuestion