1

嘿伙计们,谁能帮我解决问题。我只是检查浏览器关闭事件,如果用户关闭浏览器或关闭同一站点的所有选项卡,则销毁 php 会话。

我使用了一些脚本,但它们在页面刷新时破坏了会话(F5 或 CTRL+R 或浏览器刷新按钮)。

我只需要检查浏览器关闭按钮或 ALT+F4 ..

简而言之,当用户完全关闭浏览器或关闭所有选项卡时,使用 AJAX 调用 php 函数。

4

4 回答 4

4

一旦用户关闭他/她的浏览器,会话应该被自动丢弃。除非有某种“记住我”功能。

于 2012-08-24T10:13:53.630 回答
1

无法保证您的服务器可以知道用户已经关闭了他们的浏览器 - 不要试图实现这一点。

当用户关闭浏览器时,会话将自动丢失,因为浏览器不会保留用于将自身与生成的 PHP 会话相关联的 cookie。但同样,这也不一定能保证。你可能需要问一个不同的问题。

于 2012-08-24T10:16:48.670 回答
1

PHP Session 工作是这样的:

它为每个实例存储一个静态变量类型的数组,并通过将哈希值存储为称为PHPSESSID的 Cookie 来标识会话变量。

Cookie 的生命周期是在浏览器打开时,在浏览器关闭时 Cookie 被丢弃。

某些浏览器可以永久存储该 Cookie,但 Session 在服务器端有一个超时。

您可以在 Browser Close 上运行函数的情况是不可能的,因为 Browser Kill 的所有 Running JavaScript's on Exit。

于 2012-08-24T10:32:40.537 回答
0

关闭浏览器时会话会自动销毁,您要做什么?

于 2012-08-24T10:15:18.263 回答