javascript - 关于页面表单填写过程中用户被挤下线怎样捕捉到它退出下线了呢?
PHP中文网
PHP中文网 2017-04-11 12:43:45
0
6
501

现有客户王Sir正在用我们家产品,正在填一个表单准备填完就回家吃饭,王sir点开了两页面,因是高度机密账号,随时记得退出账号的警句时刻徘徊在王Sir脑海里,因没有什么用就立即点下退出账号,因为我司技术架构是存用户cookie到浏览器端做标示,那么这时候王Sir点击表单提交按钮怎么点也点不了,技术小李过来一刷新发现已跳转至登录页,王Sir填了一下午的表单就... 各位大佬,这种情况我该怎么知道友好的通知用户他账号被退出了呢?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(6)
Peter_Zhu

谢邀!

(1)浏览器假死的话,整个页面都点击不了,只能刷新页面。刷新页面的话,可以采用localStorage,sessionStorage来保存数据。

(2)如果不是假死的话,点击submit,开个新窗口用户登录或者弹窗登录都是可以的。

黄舟

前端写个定时器,n秒检查一下登录状态,发现登出状态就提醒用户登录。

在检查状态的同时,把已填写的表单数据缓存到浏览器的cookie或者是storage。这样不会丢失数据。

小葫芦

他不是被挤掉了,是因为回话的COOKIE失效了,无法提交表单了
1.账户A,在张三家登录了,李四后登录,这时候张三就退出登录了,这样才叫被挤下了
2.你们网站是COOKIE做的登录回话,COOKIE一旦失效,必须重新登录
3.用ajax 设置个定时器,每秒去服务端获取当前回话状态,服务端一旦发现回话的COOKIE已过期,马上提示用户.

迷茫

1、在用户离开页面前往后台请求,检查用户是否已经离线,如果离线就提醒用户是否强制离开,如果用户选择取消不离开,你可以弹出登录框,让用户通过ajax异步登录,这样就不会导致用户填写的数据丢失了。
2、对于内容比较多的页面,可以对内容进行每个一段时间保存一次内容防止内容丢失,
3、目前浏览器都支持websocket,可以使用该技术然后通过服务器往客户端推送消息的方式进行登出提示操作

Ty80

一般情况下,这样的被动事件,可以通过轮询来检测玩家是否。
或者换一下思路,譬如表单通过ajax自动保存,自动保存的过程中或者点击提交按钮(也通过ajax完成)时,检测用户的登录状态。如果用户已经断线,提示重新登录,重新登录后恢复未提交的表单内容。

刘奇

这种情况 就算提示了也有可能误操作吧。提交表单的时候做个处理。如果离线了就把表单数据存起来。提交的时候提示登录,登陆成功之后继续之前的操作。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!