2016-12-20 3 views
-1

Я хотел бы сделать всплывающее окно выхода на моем сайте. Я подготовил свой модальный, но не могу найти «хороший способ», чтобы обнаружить момент, когда пользователь собирается покинуть сайт. Я читал некоторые другие посты на эту тему и нашел этот кусок кода:Как вызвать всплывающее окно выхода?

$(document).ready(function() { 
    $(document).mouseleave(function(e) { 
    if(e.clientY < 0) { 
     $('#exit').modal('show') 
    } 
    }); 
}); 

К сожалению, это решение не работает на IE и Edge. Каков лучший способ сделать это?

ОБНОВЛЕНИЕ: Позвольте мне быть более точным. Я хочу достичь чего-то вроде this. Я предположил, что лучший способ - обнаружить, когда мышь покидает документ.

+0

Этот код в основном проверяет, если курсор мыши находится над верхней части окна документа. Это то, что вы пытаетесь сделать? – Archer

+0

Да, это так. Как я уже сказал, результат в порядке, но он не работает во всех браузерах. – bloo79

+0

Попробуйте это на 'mousemove'. Он должен работать ... –

ответ

1

Обычно это делается с помощью события onbeforeunload на окне. Это должно быть назначено функции, которая возвращает текст, который вы хотите отобразить пользователю, когда они покидают страницу. Например:

window.onbeforeunload = function() { 
    return "Are you sure you want to leave?" 
} 

Это приведет к окну подтверждения, когда пользователь попытается покинуть страницу по какой-либо причине. Если вы не хотите, чтобы он отображался во внутренних ссылках, вам нужно будет использовать javascript для отмены назначения события до начала навигации.

+0

Кроме того, это не будет работать в Chrome. Он просто продолжает говорить: «Изменения не будут сохранены ...» –

+0

Но теперь я не могу вызвать свой модальный, не так ли? – bloo79

+0

@ bloo79 Да, вы не можете вызвать модальный. –

0
window.onbeforeunload = function() { 
    // do stuff with your modal here 
} 

делать то, что вы хотите внутри функции обратного вызова, но событие onbeforeunload является тот, который вы хотите, чтобы справиться с

+0

Это не работает. Он показывает это и закрывает браузер. –

+1

перед выгрузкой, когда вы покидаете страницу, не отрывая мышь. – jdmdevdotnet

+0

вы захотите работать с любым модальным #exit - мы не знаем этого из того, что вы разместили. это просто пример. – geekzster

Смежные вопросы