【问题标题】:log out from browser if the browser closes in asp .net?如果浏览器在 asp .net 中关闭,则从浏览器中注销?
【发布时间】:2012-10-10 09:46:12
【问题描述】:

我的要求有点复杂。 用户正在使用 Web 浏览器访问数据库,如果用户关闭活动页面而不是注销会话,则访问数据库时 - 该会话需要自动注销。 有人能指导我怎么做吗? 我使用 jquery - 在母版页中。

onbeforeunload - 我收到消息离开页面或留在此页面。 即使我在登录并查看主页时也会收到此消息。

【问题讨论】:

  • 您在使用 asp.net 会员服务提供商吗?
  • 您必须设置一些会话超时,并且需要检查用户是否在该窗口上处于活动状态。例如,这是他们在 gmail(gtalk) 中所做的,如果浏览器长时间空闲,它将自动进入空闲状态。在你的情况下,你必须清除会话,网上银行网站做什么
  • @prabhakaran,你有解决办法吗? ?

标签: javascript asp.net .net


【解决方案1】:

这是示例代码

  window.onbeforeunload = function () {
   return 'You want to leave?';
};​​

查看演示here

我认为它可以发送一个 ajax 请求,你可以看到你的服务器用户关闭了浏览器的选项卡。

这也是一个名为 jquery.idle 的 jquery 插件,用于识别用户是否处于活动状态。

参考这个Detecting idle time in JavaScript elegantly会给你更多的想法。

【讨论】:

    【解决方案2】:

    您关闭浏览器或导航到网站内的不同页面?如果它关闭浏览器,则会话自动终止。

    还要查看 global.asax 的 sesson_onEnd 事件。

    【讨论】:

    • Http 是无状态的,因此您无法真正判断浏览器选项卡或窗口是否关闭。您可以减少会话超时,或者使用 ajax 轮询(不是简单的解决方案),使用 ajax 脚本不断检查页面是否处于活动状态。
    猜你喜欢
    • 2014-02-13
    • 2017-01-05
    • 2017-05-02
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 2013-11-26
    • 2015-08-22
    相关资源
    最近更新 更多