【问题标题】:Event when user leaves a page用户离开页面时的事件
【发布时间】:2014-04-30 07:06:37
【问题描述】:

当用户决定离开/关闭页面时,我需要从我的应用程序中进行回发。我想我可以用javascript做到这一点。我已经尝试过 window.onunload 和 window.unload,但似乎都无法在此处实际执行回发:

<script type="text/javascript">
    window.onunload = function() {
        document.forms[0].submit();
    }
</script>

我的场景:我有一个表单,如果用户在填写过程中决定退出,我想从中获取数据。它很长,所以我想保存数据,以便他们以后继续处理。

也许做一些定时事件会更好?

感谢任何可以提供帮助的人!

【问题讨论】:

标签: javascript jquery asp.net


【解决方案1】:

您可以将表单的值保存在 cookie 中,并在访问者回来时加载该 cookie。

使用 jQuery 相当简单:

$( window ).unload(function() {   
$.cookie("cookie_name", "cookie_value", { expires: 7 } // Possible options ); 
});

然后在页面加载时你可以尝试这样的事情:

if (var cookieValue = $.cookie("cookie_name"))
$(yourfield).val()=cookievalue;

请记住,如果您需要保存多个值,您可以创建一个 json 字符串并将其存储在同一个 cookie 中。

Jquery cookies

【讨论】:

  • 我想这可能是最好的解决方案。我有点希望避免手动保存所有这些。我将如何制作图像或类似的东西?
  • @Jack:“做一个图像”是什么意思?如保存文件上传或其他?
  • @Jack:如果您想再次使用它,通常您必须将文件保存在您的网站中,然后将其 url 保存在您的 cookie 中。
【解决方案2】:

试试

<script type="text/javascript"> window.onbeforeunload = function() { document.forms[0].submit(); } </script>

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-14
    相关资源
    最近更新 更多