Javascript 退出时发送电子邮件

Javascript 退出时发送电子邮件,javascript,c#,jquery,email,asp.net-3.5,Javascript,C#,Jquery,Email,Asp.net 3.5,我有一个在ASP.NET 3.5框架上编写的应用程序,它由多个部分组成。我添加到其中的部分涉及任务生成和更新。目前,我正在尝试添加一个功能,在我退出任务更新时发送电子邮件更新 我需要考虑几个问题: 1) 当用户从任务更新导航到应用程序的任何其他部分时,我需要发送电子邮件更新 2) 当用户从一个任务导航到另一个任务时,我需要发送电子邮件(例如手动更改URL中的任务id,或从收藏夹打开另一个任务) 3) 我需要在用户关闭浏览器时发送电子邮件 4) 当用户刷新任务更新时,我不需要发送电子邮件更新(单击

我有一个在ASP.NET 3.5框架上编写的应用程序,它由多个部分组成。我添加到其中的部分涉及任务生成和更新。目前,我正在尝试添加一个功能,在我退出任务更新时发送电子邮件更新

我需要考虑几个问题:

1) 当用户从任务更新导航到应用程序的任何其他部分时,我需要发送电子邮件更新

2) 当用户从一个任务导航到另一个任务时,我需要发送电子邮件(例如手动更改URL中的任务id,或从收藏夹打开另一个任务)

3) 我需要在用户关闭浏览器时发送电子邮件

4) 当用户刷新任务更新时,我不需要发送电子邮件更新(单击刷新按钮或F5)

我尝试使用“beforeunload”jQuery事件,该事件在每次关闭应用程序、离开任务更新或刷新页面时触发。我打算对一个web方法进行ajax调用,该方法将调用我的sendmail方法。“beforeunload”的问题在于,它无法区分任务更新是正在刷新、关闭还是用户离开页面。我需要知道这一点,因为如果用户继续执行相同的任务,我不想发送电子邮件

我能够确定是在代码隐藏的Page_Load事件中刷新了相同的任务更新,还是用户转到了不同的任务。它无法解决问题,因为“beforeunload”事件在页面上传之前触发

另一个问题是,当用户打开多个带有不同任务的选项卡时

有没有人为类似的事情实施过解决方案

多谢各位

问题解决了


我继续将updateemail方法放在一个单独的线程中。我在那个线程上加了一个延迟。延迟会在每个页面加载以及通过web方法在每个AJAX上更新。我在前端还有一个计时器,如果屏幕空闲,它会在一段时间内更新延迟。

您可能可以检查浏览器历史记录以区分重新加载/关闭窗口,但这在lotsa选项卡中无法很好地扩展。如果您的页面上有某种身份验证,另一个想法是将“当用户关闭浏览器时,发送邮件”更改为“当用户身份验证用完时,发送邮件”。