У меня есть приложение, написанное на платформе ASP.NET 3.5, состоящее из нескольких частей. Часть, которую я добавил к ней, связана, скажем, с созданием и обновлением задач. В настоящее время я пытаюсь добавить функциональность, которая отправляет обновление электронной почты при выходе из обновления задачи.Отправка электронной почты на выход
Есть несколько проблем, которые мне нужно рассмотреть следующие вопросы:
1) Мне нужно отправить обновление электронной почты, когда пользователь переходит от обновления задач в любой другой части приложения;
2) Мне нужно отправить электронное письмо, когда пользователь переходит от одной задачи к другой (например, вручную изменяет идентификатор задачи в URL-адресе или открывает другую задачу из избранных);
3) Мне нужно отправить электронное письмо, когда пользователь закрывает браузер.
4) Мне не нужно отправлять обновления по электронной почте, когда пользователь обновляет обновление задачи (кнопка обновления кнопки F5).
Я попытался использовать событие «beforeunload» jQuery, которое срабатывает при каждом закрытии приложения, удалении от обновления задачи или обновлении страницы. Я собирался сделать ajax-вызов веб-метода, который вызовет мой метод отправки электронной почты. Проблема с «beforeunload» заключается в том, что она не различает, обновляется ли обновление задачи, закрывается или пользователь переходит от страницы. Мне нужно знать это, потому что я не хочу отправлять электронное письмо, если пользователь остается на одной и той же задаче.
Я могу определить, обновляется ли то же обновление задачи в событии Page_Load в коде позади или если пользователь переходит к другой задаче. Это не решает проблему, потому что событие «beforeunload» срабатывает перед Page_Upload.
Другая проблема, когда пользователь имеет несколько открытых вкладок с различными задачами ...
Кто-нибудь когда-либо реализовать решение для чего-то подобного?
спасибо.
Возможно, вы сможете проверить историю браузера, чтобы различать окно reload/close, но это не будет хорошо масштабироваться с вкладками Lota. Если у вас есть какая-то аутентификация на вашей странице, другая идея заключалась бы в том, чтобы изменить «когда пользователь закрывает браузер, отправлять почту» в «когда пользователь заканчивает работу, отправляет почту». – Shilly