Preguntar al usuario antes de cerrar el navegador?

Tenemos un portal administrativo que nuestros maestros se olvidan constantemente de descargar sus últimas instrucciones en PDF antes de cerrar sesión y / o cerrar la ventana del navegador. He mirado alrededor pero no puedo encontrar lo que estoy buscando.

Quiero lograr los siguientes objetivos:

Objetivo 1

Antes de que un usuario pueda cerrar la ventana del navegador, se le pregunta "¿Recordó descargar su formulario?" con dos opciones, sí / no. En caso afirmativo, cierre, si no, regrese a la página.

Objetivo 2

Antes de que un usuario pueda hacer clic en el botón 'cerrar sesión', se le solicita lo mismo que arriba.

Mi primer paso en el código muy básico (que no funciona para cerrar el navegador) es:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script type="text/javascript">
function init() {
    if (window.addEventListener) {
        window.addEventListener("beforeunload", unloadMess, false);
    } else if (window.onbeforeunload) {
        window.onbeforeunload = unloadMess;
    };
}

function unloadMess() {
    var User_Message = "[Your user message here]"
    return User_Message;
}
</script>
</head>

<body onload="init();">
     hello this is my site
</body>
</html>
EDITAR - NUEVOS PROBLEMAS

La solución proporcionada a continuación funciona, pero también tiene sus propios problemas:

Cuando el usuario hace clic en el enlace para descargar realmente los formularios, ¡la página piensa que está tratando de salir y, a su vez, les presenta un mensaje de error! Además, me gustaría que ocurriera un evento u otro, pero no necesariamente ambos. Es decir. presionan el botón 'cerrar sesión' y se les presenta el evento OnClick, LUEGO el indicador del navegador. ¿Algunas ideas?

Respuestas a la pregunta(4)

Su respuesta a la pregunta