2015-05-25 52 views
3

场景:在后端传递浏览器选项卡信息?

我们有一个分析,根据不同的输入给出不同的结果。因此,如果用户在两个不同的浏览器标签中打开相同的分析,那么常用的会话变量将被覆盖,并且两个标签中的输出将相同,不过我们希望基于标签中不同用户输入的不同输出。

所以我们计划在后端发送一个tab-id,这样我们就可以保存每个tab-id的会话变量。

是否有一些自动的方式,标签信息被发送到服务器可能在请求头或类似的东西? 或者我们将不得不自己生成一个tab-id,并将其发送给每个请求?

+2

请添加您的编程语言的标签,使其更有意义;)。 –

回答

1

你必须生成你的标签,标识和其传回与每个请求,但下面可能使其更容易一点:

可以使用的sessionStorage从Web存储API来唯一的每个存储值标签。浏览器中的每个选项卡都会启动一个新的会话,因此它们总是不同的

https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage

应该与最常见的浏览器(IE8连+)工作:http://caniuse.com/#search=web%20storage

希望帮助!

+0

据我所知,'sessionStorage'是一个客户端会话来保存客户端的信息。在我的情况下,我希望服务器端会话变量标识不同。任何关于这个的建议? –

+0

这是正确的,sessionStorage是客户端。这对你有用的东西在于它对每个选项卡都是唯一的。 因此,您可以在页面上生成一些脚本,用于生成唯一的标签ID并将其保存在sessionStorage中,然后将其传递回服务器并提供每个请求。 然后,您可以使用服务器上的tab-id使会话变量唯一,例如将它们存储在由tab-id索引的数组中,或者甚至只是将它附加到var名称。 – beercohol

+0

在这里查看一些关于如何在Javascript中生成UUID的信息:http://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript 请看以下从@broofa接受的答案 – beercohol

相关问题