Определяет положение курсора, реагирует, когда pageY меньше 0 (курсор в зоне с вкладками)
Устанавливает куки на выбранной странице
Проверяет наличие куки (при заходе и/или по таймеру)
Устанавливает время жизни куки
Событие может быть удалено при достижении какого-то времени
Параметры которые можно менять
Название установленной куки и два ее значение - до посещения и после
Время жизни куки
Ссылка на сравниваемую страницу
Время удаения листенера (скрипт перестает работать через заданное время)
Порядок выполнения
Получаем текущую дату для будущего определения времени жизни куки
Добавляем слушатель на объект window
При желании добавляем функцию, убирающую обработчик через N секунд
Проверяем куки, есил их нет, то ставим unvisited.
При перемещении курсора за пределы сайта происходит проверка:
Находится ли курсор в выше области сайта ( e.pageY )
У курсора отсутствует хтмл-цель ( e.relatedTarget === null )
Значение куки равно getcookie('yourName') === null
Если все проверки пройдены, то выполняется желаемое действие.
Для того чтобы снять куки после того, как клиент выполнил цель (посещение страницы) мы проверяем
текущий адреси сравниваем с заданным ранее.
Если адрес совпал, то:
Если куки не являются пустыми, то ничего не происходит
Иначе - устанавливаем куки на время, заданное вначале
Используемые функции
urlCheker - проверяет текущую страницу, внутри - проверяет установленные куки
windowPopUp - делает что-то при наведении курсора на верхнюю часть экранаю.
e.relatedTarget === null - значает, что курсор не находится над каким-либо объектом.
cookTimer - проверяет наличие куки в режиме реального времени
getcookie - (сторонняя функция) проверяет наличие куки в браузере
setCookie - (сторонняя функция) позволяет записать куки