Uso di Javascript (o Ajax) Desidero collegarmi a una pagina (una pagina .php) ogni 10 secondi. Questo sarà fatto nel lato utente (browser) all'interno di una pagina web. Sto solo cercando di vedere gli utenti online. Ho circa 1-2 visitatori al giorno, nel mio sito web personale.tenta di aprire una pagina ogni 10 secondi
risposta
Utilizzando jQuery 's metodo $.post()
:
setInterval(function(){
$.post("getCount.php", function(result) {
// do something with result
}, "html");
}, 10000);
sto assumendo che abbiate una buona ragione per interrogare il proprio script locale. Se desideri informazioni dettagliate su chi sta visitando il tuo sito, quando, e da quali tipi di ambienti (macchine, browser, ecc.), Ti suggerisco di esaminare l'implementazione di qualcosa come Google Analytics.
Questo Javascript leggerà la pagina usersonline.php ogni 10 secondi e posizionerà il contenuto sulla pagina Web corrente.
<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>
Ci sono tre problemi con questo. 1) L'allegato inline è una cattiva forma e ha problemi, 2) passare una funzione effettiva a 'setTimeout' piuttosto che una stringa è preferibile in quanto non implica una valutazione implicita, e 3) questo non funziona in IE poiché 'XMLHttpRequest' non esiste in quell'ambiente. –
<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>
modificare l'URL di conseguenza, salvare il codice di cui sopra come count.html sul desktop, e aprirlo con Firefox
Date un'occhiata al http://www.google.com/analytics/ – kgiannakakis