【发布时间】:2015-11-19 21:35:01
【问题描述】:
当用户会话即将到期和到期时,我会弹出一个警报。问题是如果为应用打开了多个选项卡,则会连续触发多个警报,这非常烦人。
我想在显示警报之前检查后端的会话信息。这样,如果在一个选项卡中会话即将到期(根据前端),但实际上并没有到期,因为您一直在另一个选项卡中操作,则警报将不会显示并窃取浏览器焦点。理想情况下,我希望将其保留为警报,以便第一次正确显示警告确实会引起浏览器的关注。
那么是否可以在不刷新会话的情况下发出这样的请求?
【问题讨论】:
-
设置一个全局标志来锁定。一旦出现第一个确认弹出窗口,它就会设置标志并防止任何其他选项卡弹出相同的问题。
-
您可以使用 localstorage、sessionstorage 或 cookie 来存储 Marc B 建议的标志。
-
您也可以在客户端进行,例如使用
localStorage(在标签之间共享/保留)。 -
您可以使用另一个会话变量来记住您已经发送了“即将过期”响应,然后如果您收到另一个查询,则发送否定响应。
标签: javascript php session