如何使用JS触发用户左站点事件

时间:2012-07-23 21:25:46

标签: javascript-events

我有一个网站,为填写我网站表单的用户执行财务搜索服务。通过与提供商进行直接xml集成进行搜索,此类搜索可能需要一分钟才能完成。如果用户决定在搜索完成之前离开网站,我想通知服务器。

我使用了onunload js事件,但是,当服务器完成财务搜索并将用户重定向到“Service Found”页面时,它也会触发。因此,尽管用户从服务器端重定向到“找到服务”页面,但我仍然为每个用​​户提供用户左站点通知。

当服务器响应并重定向到“找到服务”页面时,检测用户是否离开网页而不触发事件的最佳方法是什么?

我阅读了Scott Mitchell的文章“在离开页面时提示用户保存”(http://www.4guysfromrolla.com/webtech/100604-1.shtml),但是,只有当用户离开网站时我才能触发该事件。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用AJAX发布表单吗?您将能够停用卸载处理程序。以下是jQuery的工作原理:

$('#myform').submit(function() {
  $.post('/form-action', $(this).serialize(), function(responseText) {
    $(window).unbind('unload');

    // update the page with the response
    $('#response').html(responseText);

    // or redirect to the result page: window.location = 'new location';
});