2011-12-15 84 views
1

我想要做的就是爲每個打開的選項卡增加一個COOKIE。 COOKIE變量的管理將在PHP中完成,但我真的不知道如何測試一個新窗口是否已經打開(Javascript或Jquery)。任何擡頭?謝謝!在窗口打開時增加COOKIE

回答

1

你不能分辨是否從服務器端打開了新窗口/選項卡。您可以通過不斷地將信號從已經打開的窗口發送到網絡服務器來進行猜測(例如,每隔X秒通過ajax從服務器上ping服務器)。

編輯:

如果只想檢測到一個新的標籤一直只在客戶端,有幾件事情可以做:一個鏈接/按鈕

  • 用戶點擊,並且由於該點擊而打開一個新的窗口/選項卡(例如,通過window.open()調用),那麼您只需增加Cookie,就像通常在javascript中增加cookie一樣,然後在與窗口相同的位置執行該操作.open()調用。
  • 如果用戶在新選項卡中輸入url也被認爲是打開一個新窗口(例如,您的程序不負責啓動窗口......比如說,這是一箇中間/輪班點擊錨點),那麼單獨使用javascript就很難檢測到。一種方法是在local storage中添加一個字段,並在頁面加載時遞增,並在頁面關閉時遞減(監聽卸載事件,如window.onbeforeunload)。然後,要檢查當前打開了多少個窗口,可以閱讀該字段。不幸的是,這不適用於像IE(6 | 7 | 8)這樣的較小瀏覽器。
+0

我不想做它的服務器端。 Javascript或Jquery,如標籤所示,謝謝! – Gabriel 2011-12-15 09:10:18