我想知道如何阻止用户在打开上一个浏览器实例时打开新标签页?
我的目的是防止覆盖数据。 例如,如果用户在同一个应用程序中打开一个新选项卡,我想提示消息,如
"您正在尝试在同一个应用程序中打开一个新的活动窗口。请关闭上一个窗口。"
有没有办法用php,javascript,session或cookie吗?
答案 0 :(得分:0)
我会使用PHP中的会话信息我认为...当用户打开选项卡时,将会话标签添加到会话中。如果它已经加载了该标签,请提出问题。棘手的部分是知道用户何时停止使用您的应用程序或只是闲置。
您永远不能阻止用户在浏览器中打开新标签,但您可以阻止应用中的信息转到用户。你也可以使用cookies,但是如果它不需要被记住的时间长于会话,我认为没有意义。
如果您想使用JavaScript而不是PHP进行检查,您还可以查看HTML5网络存储。它适用于IE8及以上版本。它只是一个键/值数据库。
答案 1 :(得分:0)
只要它是相同的浏览器窗口,您就不能说用户是否打开了新选项卡,或者只是将页面加载到同一个选项卡上。即使在private mode
或incognio mode
中,标签也会共享会话。
会话取决于cookie,其中cookie可以比会话更持久。同样的问题。
您可以做的是阻止用户在其上一个会话仍然有效时再次登录,但是当用户打开新的浏览器窗口(或不同的浏览器)并尝试登录时,这将起作用。