我想知道是否可以确定用户是否已经打开了我正在处理的Web应用程序的Web浏览器.看起来他们可以打开同一个Web应用程序的多个实例,然后单击按钮来读取他们之前用过的信息,以进入他们当前正在处理的输入屏幕.
但是,它似乎搞砸了Session变量,然后用户将用他们的新工作更新他们以前的工作.或者他们会一起删除他们以前的作品或谁知道......
编辑 我之前已经看过网上银行网络应用程序.如果您已经登录,新窗口将告知您已经打开了应用程序.就我而言,用户无需登录.
有没有一种简单的方法可以确定他们是否已经在Web应用程序中打开了浏览器窗口,如果是这样,只需关闭浏览器或显示不同的页面,让他们知道他们一次只能打开1个?
谢谢
首先,没有,其次,你不应该尝试.
弹出窗口策略不起作用(并且会使用户烦恼).我有我的浏览器设置为"打开窗口作为标签",而我选择是否拆分一关到另一个窗口.或者在某些情况下,是否要运行不同的浏览器 - 而不仅仅是同一个浏览器的另一个实例 - 以在同一站点上显示另一个页面.
相反,迷你会话ID将失败,因为服务器无法跟踪请求是否来自与现有会话相同的用户.有些人可能正在使用同一台机器,即使使用相同的用户名; 或者一个人可能在一台或多台机器上有几个单独的登录会话.
只需将您的协议与"会话"变量进行梳理,并确保最后提交的更改是持久的更改.