¿Cómo detectar si se hizo clic en un enlace cuando se activa window.onbeforeunload?

Tengo window.onbeforeloadload correctamente. Muestra un cuadro de confirmación para garantizar que el usuario sepa que está navegando (cerrando) la ventana y que cualquier trabajo no guardado se borrará.

Tengo una situación única en la que no quiero que esto se dispare si un usuario navega fuera de la página haciendo clic en un enlace, pero no puedo descubrir cómo detectar si se ha hecho clic en un enlace dentro de la función para detener la función. . Esto es lo que tengo para el código:

window.onbeforeunload = function() {
var message = 'You are leaving the page.';

/* If this is Firefox */
if(/Firefox[\/\s](\d+)/.test(navigator.userAgent) && new Number(RegExp.$1) >= 4) {
  if(confirm(message)) {
    history.go();
  } 
  else {
    window.setTimeout(function() {
      window.stop();
    }, 1);
  }
}
/* Everything else */
else {
  return message;
}
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta