我们的内部网站点有一组不同寻常的要求。
如果我假设用户只会使用单个,那么我可以将客户端信息存储在一个简单的cookie中,一切正常。
当用户打开第二个标签时,它会重复使用相同的Cookie。不是理想的条件。那么有可能确定浏览器标签之间的差异吗?
答案 0 :(得分:0)
查看window.name
变量。在页面加载时,您可以在其中添加一些独特的内容,例如日期/时间,并将相同的内容存储在您的cookie中(如果它不存在)。如果用户打开新选项卡(或窗口),则该值将为空,并且cookie将不会。 window.name
会在页面加载过程中持续存在(如果内存服务),因此这将允许您唯一标识每个标签。
答案 1 :(得分:0)
您可以使用sessionStorage
对象存储特定于单个窗口/选项卡的数据。它就像任何其他JavaScript对象一样,你可以分配(sessionStorage.foo = "bar"
),检索(baz = sessionStorage.foo
)和删除(delete sessionStorage.foo
),但与其他JS对象不同,任何属性集都将是在单个窗口中持续跨页面加载。
唯一的缺点是它不会将此数据发送到服务器。您必须使用AJAX调用自己完成此操作。