Можно ли проверить, находится ли посетитель в режиме онлайн, используя свой IP-адрес?
Я уже создал javascript и php, чтобы проверить IP-адрес посетителей, когда они открывают одну из моих страниц, используя onLoad и событие onBeforeUnload. Но есть некоторые случаи, когда мой скрипт не может обнаружить, посетитель все еще открывает мой сайт. Поскольку onBeforeUnload не является надежным все время.
В этом случае, я хочу знать, есть ли какой-либо другой метод для определения того, находится ли посетитель в режиме онлайн.
Если посетитель все еще открывает страницу, но не читает ее, потому что, возможно, он читает другой сайт или запускает другую программу, я все равно считаю, что он / она онлайн.
Если посетитель, однако, закрыл браузер, но мой скрипт не смог обнаружить его событие разгрузки, я хочу знать, все ли он в сети.
PHP или javascript подходят для меня.
Вы должны создать код JavaScript, который «pings» (отправляет запрос, может быть пустым) сервер через ajax. Этот запрос должен, в свою очередь, «отмечать», что пользователь активен в PHP (возможно, в базе данных или любом используемом методе хранения). Вы можете обратиться к этому хранилищу, чтобы узнать, находится ли он в сети.
Кроме того, вы можете использовать его без AJAX, однако вам нужно выполнить этот «ping» запрос каждой страницы (каждый раз, когда вы просматриваете страницы) на сайте. Таким образом, PHP «маркирует» пользователя для каждой посещаемой страницы, пока он вошел в систему.
Если этот пользователь был «отмечен» активным более чем на определенный порог (например, 30 минут), рассмотрите его в автономном режиме.
вам НЕ нужен IP-адрес для этой функции. Вам просто нужно знать, что пользователь по-прежнему помечен как онлайн.
Если посетитель, однако, закрыл браузер, но мой скрипт не смог обнаружить его событие разгрузки, я хочу знать, все ли он в сети.
Это совершенно невозможно.
И я сомневаюсь, что есть какая-то причина делать это вообще.
насколько я знаю, самым надежным способом сделать это будет использование now.js для Node. Вы можете настроить простой сервер и прослушать соединение и отключить. при запуске вы можете отправить данные, которые вам нужны, на ваш php или обработать их в узле.