2011-12-15 5 views
1

Все, что я хочу сделать, - это увеличить COOKIE для каждой открытой вкладки. Управление переменной COOKIE будет на PHP, я ее разобрал, но я действительно не знаю, как проверить, было ли открыто новое окно (Javascript или JQuery). Любые головы? Спасибо!Приращение COOKIE при открытии окна

ответ

1

вы не можете определить, было ли открыто новое окно/вкладка с сервера. вы можете догадаться, однако, постоянно отправляя сигнал из уже открытого окна на веб-сервер (например, ping сервер со страницы через ajax каждые X секунд).

редактировать:

, если вы только хотите, чтобы обнаружить, что новая вкладка была только на стороне клиента, есть несколько вещей, которые вы можете сделать:

  • пользователь нажимает на кнопку/ссылку, и вы открываете новое окно/вкладку из-за этого щелчка (например, через вызов window.open()), тогда вы просто увеличиваете файл cookie, как обычно увеличиваете файлы cookie в javascript, и делаете это в том же месте, что и ваше окно .open().
  • Если пользователь, вводящий URL-адрес в новой вкладке, также считается открытием нового окна (например, ваша программа не несет ответственности за запуск окна ... скажем, это был средний/сдвиг на якоре) то становится сложнее обнаружить, используя только javascript. Одним из способов является добавление поля в local storage и увеличение его при загрузке страницы и уменьшение его при закрытии страницы (прослушивание события разгрузки, например window.onbeforeunload). Затем, чтобы проверить, сколько окон открыто, вы можете прочитать это поле. К сожалению, это не сработает в меньших браузерах, таких как IE (6 | 7 | 8).
+0

Я не хочу, чтобы это было на стороне сервера. Javascript или JQuery, поскольку теги подразумевают, спасибо! – Gabriel

Смежные вопросы