¿Cómo controlar el diálogo de confirmación del navegador al salir de la página?

Sé que hay muchas preguntas con respecto a esto, pero nada me está respondiendo bien. Quiero mostrar un diálogo de confirmación cuando el usuario abandona la página. Si el usuario presiona Cancelar, permanecerá en la página y si está bien, los cambios que ha realizado se revertirán al llamar a un método. He hecho así:

window.onbeforeunload = function () {
  var r = confirm( "Do you want to leave?" );
  if (r == true) {
       //I will call my method
  }
  else {
      return false;
  }
};

El problema es que obtengo la ventana emergente predeterminada del navegador: "LeavePage / StayOnPage"

Esta página le está pidiendo que confirme que desea irse; es posible que los datos que ingresó no se guarden.

Este mensaje se muestra en Firefox, en Chrome es un poco diferente. Obtengo esta ventana emergente después de presionar OK en mi primer cuadro de diálogo de confirmación.

¿Hay alguna manera de no mostrar este diálogo? (El segundo, que yo no creé). O si hay alguna forma de controlar esta ventana emergente, ¿alguien sabe cómo hacerlo? Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta