在浏览器关闭时调用方法

发布于 2024-09-04 21:51:07 字数 243 浏览 5 评论 0原文

当用户直接单击浏览器关闭 [X] 按钮时,我的应用程序遇到问题。浏览器可以是 IE、Chrome、Mozilla、Firefox 等。

我想做的: 1. 一旦用户点击浏览器的 [X] 按钮,就需要在数据库中将其状态设置为已注销,为此我们在母版页内的 Login.aspx 文件中有一个方法。 2.我们的应用程序中没有任何注销功能,

如果有人建议一个解决方案来调用将用户状态设置为从母版页注销的方法,我将不胜感激。

提前致谢。

I am facing an issue in my application when a user directly clicked on browser close [X] button. Browser can be IE, Chrome, Mozilla, Firefox and many more.

What I want to do:
1. as soon as user hits [X] button of browser, need to set their status as logged off in database for which we have a method in Login.aspx file which is within the master page.
2. We do not have any Logoff feature in the application

I will be thankful if anyone suggests a solution to call the method which sets the user status as logged off from master page.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风铃鹿 2024-09-11 21:51:07

由于 http 连接和一般网络的性质,这是不可能的。只需设置一个超时(例如 10 分钟),之后用户就会自动注销。

This is not possible due to the nature of http connections and the web in general. Simply have a timeout (eg. 10 minutes) after which a user gets logged out automatically.

口干舌燥 2024-09-11 21:51:07

Javascript 有一个 onunload 函数,所以你可以这样做:

<body onUnload="doFunction()">

但是,这个方法和其他方法将是不可靠的(我不确定它在哪些特定实例中被触发),因为这将是一个安全问题,允许网站有权访问执行浏览器 onunload 上有很多功能。

最好的解决方案是让 cookie/会话自动超时,并教育用户在系统敏感时注销。

Javascript has an onunload function, so you could do:

<body onUnload="doFunction()">

However this, and other methods are going to be unreliable (I'm not sure in which specific instances it is fired) as it would be a security concern allowing websites to have access to perform many functions on browser onunload.

The best solution would be to have cookies/sessions automatically time out, and also to educate users to logout if the system is sensitive.

桃酥萝莉 2024-09-11 21:51:07

如果你使用 jQuery,你可以使用

$(window).unload( function () {
  $.ajax({ **your params** });
} );

但我必须同意 Tom Gullen 的观点 - 你的会话最终应该超时。

If you are using jQuery you could work with

$(window).unload( function () {
  $.ajax({ **your params** });
} );

But I have to agree with Tom Gullen here - your sessions should timeout eventually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文