如何检测用户是否在同一会话中打开了两个标签页?
- 论坛
- 如何检测用户是否在同一会话中打开了两个标签页?
6 浏览
如何检测用户是否在同一会话中打开了两个标签页?
我使用CakePHP开发了一个预订应用程序,其中在结账页面之前需要完成几个步骤。在这些步骤之间,我将信息存储在会话中。
工作原理是第一步要求用户填写他们的信息。当进入第二步时,第一步的信息将被保存到会话对象中。随着用户在其他步骤中的进行,这个过程会重复。最后,在用户结账时,所有数据将保存到数据库中。
如果用户在浏览器中打开了应用程序的另一个页面或者另一个标签页,问题就会发生。假设他们在标签页A和标签页B中分别打开了两个应用程序实例。在标签页A中,他们输入了第一步的详细信息并进入第二步。然后用户在标签页B中做了同样的操作。
在最后一步进行结账时,标签页A中的信息与标签页B中的信息相同。
目前,我只能想到的最好的方法是防止用户在两个浏览器实例中打开相同的应用程序。
有没有办法在用户尝试在标签页B中打开另一个实例时检测到并提示用户先完成标签页A中的预订表单呢?