在窗口打开时增加COOKIE

时间:2011-12-15 08:46:46

标签: php javascript jquery

我想要做的就是为每个打开的标签增加一个COOKIE。 COOKIE变量的管理将使用PHP,我已经对其进行了排序,但我真的不知道如何测试是否已经打开了一个新窗口(Javascript或Jquery)。抬头?谢谢!

1 个答案:

答案 0 :(得分:1)

您无法判断是否已从服务器端打开新窗口/选项卡。然而,你可以通过不断地从已经打开的窗口向网络服务器发送信号来猜测它(例如,每隔X秒通过ajax从页面ping服务器)。

编辑:

如果您只想检测一个新选项卡仅在客户端,您可以执行以下操作:

  • 用户点击链接/按钮,然后你打开一个新窗口/标签因为点击(例如,通过window.open()调用),然后你只需增加cookie,因为你通常会在javascript中增加cookie ,并在window.open()调用的同一个地方执行此操作。
  • 如果用户在新标签中键入网址也被视为打开一个新窗口(例如,您的程序不负责启动窗口......比如,它是一个中间/移动点击锚点),然后单独使用javascript检测变得更加困难。一种方法是在local storage中添加一个字段,并在页面加载时递增它,并在页面关闭时递减它(监听卸载事件,如window.onbeforeunload)。然后,要检查当前打开的窗口数,您可以读取该字段。不幸的是,这不适用于IE等较小的浏览器(6 | 7 | 8)。