退出时发送电子邮件 - javascript

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

我需要考虑几个问题:

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

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

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

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

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

我能够确定是否在后面的代码中的Page_Load事件中刷新了相同的任务更新,或者用户是否转到了另一个任务。它不能解决问题,因为在Page_Upload之前会触发“ beforeunload”事件。

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

有没有人为类似的东西实施该解决方案?

谢谢。

参考方案

问题已经解决了。

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

jQuery val函数在隐藏字段上不起作用? - javascript

这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …

在PHP服务器上从HTML进行数据挖掘 - javascript

我使用jQuery创建了一个不错的库,该库在浏览器中运行,并且基本上完成了从各种html页面中挖掘任意数据的任务。我想将此库迁移到运行PHP的Apache服务器并在服务器端运行它。但是,我不知道与PHP兼容的可靠浏览器模拟器。最坏的情况是在PHP中再次实现整个过程。该解决方案将涉及:发送请求解析HTML实现基本功能以执行Java / jQuery标准执行的任…

获取JavaScript值到C#字符串 - javascript

                        是否可以在C#中执行类似的操作?该值为“ 10/05/2014”string jsValue = javascript("$('#EstimatedStartDate').val()"); 参考方案 您能否更详细地阐明您要做什么。看来您正在尝试从javascript(客户…

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …