попробуйте открывать страницу каждые 10 секунд - PullRequest
5 голосов
/ 15 января 2010

Используя Javascript (или Ajax), я хочу подключаться к странице (странице .php) каждые 10 секунд. Это будет сделано на стороне пользователя (в браузере) на веб-странице. Просто я пытаюсь увидеть онлайн пользователей. У меня около 1-2 посетителей в день на моем личном веб-сайте.

Ответы [ 3 ]

8 голосов
/ 15 января 2010

Использование jQuery $.post() метод:

setInterval(function(){
  $.post("getCount.php", function(result) {
    // do something with result
  }, "html");
}, 10000);

Я полагаю, у вас есть веская причина запросить свой собственный локальный скрипт. Если вы хотите получить подробную информацию о том, кто посещает ваш сайт, когда и из каких типов сред (компьютеров, браузеров и т. Д.), Я бы посоветовал вам заняться реализацией чего-то вроде Google Analytics .

1 голос
/ 15 января 2010
<html>
<body>
<form target='userCountFrame' action='http://www.google.com'></form>
<iframe name='userCountFrame'></iframe>
<script>
setInterval(function(){
  document.getElementsByTagName('form')[0].submit();
}, 10 * 60 * 1000);
</script>
</body>
</html>

измените URL соответствующим образом, сохраните приведенный выше код как count.html на рабочем столе и откройте его с помощью Firefox

1 голос
/ 15 января 2010

Этот Javascript будет читать страницу usersonline.php каждые 10 секунд и помещать содержимое на текущую веб-страницу.

<html>
<head>
<script>

var xmlrequest;

function gotnewdata()
{
    if(xmlrequest.readyState == 4)
    {
        document.getElementById("output").innerHTML = xmlrequest.responseText;
        setTimeout("loadpage();", 10000);
    }   
}

function loadpage()
{
    xmlrequest = new XMLHttpRequest();
    xmlrequest.open("GET", "usersonline.php", true);
    xmlrequest.onreadystatechange = gotnewdata;
    xmlrequest.send(null);
}

</script>
</head>
<body onload="loadpage();">
<h1>My Page</h1>
<p>USERS ONLINE:</p><p id="output"></p>
</body></html>
...