попытайтесь открыть страницу каждые 10 секунд

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

5
задан APC 15 January 2010 в 06:05
поделиться

3 ответа

Используя jQuery $.post() метод:

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

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

8
ответ дан 13 December 2019 в 22:08
поделиться

Этот JavaScript будет прочитать страницу uselsonline.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>
1
ответ дан 13 December 2019 в 22:08
поделиться

Ваш код не переходит в бесконечный цикл в моей системе:

# gcc $CFLAGS -o test test.c
# ./test
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Однако результат неправильный. Я вижу 8 раз 1, но это должно быть 9 раз один.

Как отметили некоторые, суммирование - это гораздо более простой подход:

#include <stdio.h>

int main() 
{
    int i;
    int count;
    int N = 18;
    int arr[] = {1,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,0,1};

    /* Sum up all elements */
    i = 0;
    count = 0;
    while (i < N) count += arr[i++];

    /* Overwrite the array */
    i = 0;
    count = N - count;
    while (i < count) arr[i++] = 0;
    while (i < N) arr[i++] = 1;

    /* Print result */
    for (i = 0; i < N; i++) printf("%d ",arr[i]);
}
-121--4533208-

Установлено ли для Copy Local значение true на ссылке? Щелкните правой кнопкой мыши по ссылке и выберите «Свойства».

-121--3500286-
<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
ответ дан 13 December 2019 в 22:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: