我有一个在 ASP.NET 3.5 框架上编写的应用程序,该框架由多个部分组成。我添加到其中的部分涉及任务生成和更新。目前我正在尝试添加一个功能,当我退出任务更新时发送电子邮件更新。
有几个问题需要考虑:
1)当用户从任务更新导航到应用程序的任何其他部分时,我需要发送电子邮件更新;
2) 当用户从一个任务导航到另一个任务时(例如手动更改 URL 中的任务 ID,或从收藏夹中打开另一个任务),我需要发送一封电子邮件;
3)我需要在用户关闭浏览器时发送电子邮件。
4) 当用户刷新任务更新(单击刷新按钮或 F5)时,我不需要发送电子邮件更新。
我尝试使用“beforeunload”jQuery 事件,每次关闭应用程序、导航离开任务更新或刷新页面时都会触发该事件。我打算对一个 Web 方法进行 ajax 调用,该方法将调用我的发送电子邮件方法。 “beforeunload”的问题在于,它无法区分任务更新是正在刷新、关闭还是用户导航离开页面。我需要知道这一点,因为如果用户继续执行同一任务,我不想发送电子邮件。
我能够确定是否在代码后面的 Page_Load 事件中刷新了相同的任务更新,或者用户是否转到了不同的任务。它不能解决问题,因为“beforeunload”事件在 Page_Upload 之前触发。
另一个问题是当用户打开多个包含不同任务的选项卡时...
有人曾经实现过类似的解决方案吗?
谢谢。
最佳答案
问题已解决。
我继续将更新电子邮件方法放在一个单独的线程中。我推迟了该线程。每次页面加载以及每个 AJAX 上的延迟都会通过 Web 方法进行更新。我还在前端有一个计时器,如果屏幕空闲,它会更新延迟一段时间。
关于javascript - 退出时发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34271219/