На странице корзины моего веб-сайта я должен перехватить пользователя, покидающего страницу, и спросить их, хотят ли они сохранить свою корзину по электронной почте.
Думаю, мне нужно использовать событие "beforeunload", чтобы перехватить пользователя, покидающего страницу, но тогда у меня есть две проблемы:
Как исключить из "beforeunload" триггер щелчок по ссылке, чтобы продолжить платеж?
Как подсказать небольшую форму, где я могу попросить его адрес электронной почты (который будет использоваться каким-то образом позже), а затем продолжить выгрузку страницы?
Для исключения из ссылки для продолжения платежа вы можете сделать следующее: -
window.onbeforeunload = function() {
return "You're leaving the site.";
};
$(document).ready(function() {
$('a[rel!=ext]').click(function() { window.onbeforeunload = null; });
$('form').submit(function() { window.onbeforeunload = null; });
});
Единственное, что вы можете сделать, это создать почтовый ящик браузера по умолчанию...
window.onbeforeunload = foo;
function foo(e) {
if (!e) e = window.event;
//e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = 'You sure you want to leave?'; //This is displayed on the dialog
//e.stopPropagation works in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
}