Всплывающее окно перед уходом пользователя с сайта

Решение на JQuery

Чтобы закрыть вкладку пользователю в любом случае придется потянуться к верхней панели браузера и уйти из рабочей области. Смысл в том, что когда курсор покидает рабочую область страницы сайта всплывает окно (popup).

mouseleave.js
$(document).mouseleave(function(e){
  // popup
});

Пример на mousemove: http://ruseller.com/lessons/les195/example/index.html

Событие перед закрытием

Пример 1:

example1.js
window.addEventListener("beforeunload", function (e) {
  var confirmationMessage = "Текст в раздражающем пользователя окне";
  (e || window.event).returnValue = confirmationMessage;
  return false;
});

Пример 2:

example2.js
window.onbeforeunload = function (evt) {
  var message = "Document 'foo' is not saved. You will lost the changes if you leave the page.";
  if (typeof evt == "undefined") {
    evt = window.event;
  }
  if (evt) {
    evt.returnValue = message;
  }
  return message;
}