[英]Automatically run a PHP script every X seconds without refreshing the page
[英]Javascript - run a php file every X seconds
我希望能夠以最簡單的方式記錄一個人在我的網站上的秒數。 不需要Google Analytics(分析)或任何其他第三方資源。
php腳本將創建與mysql的連接並更新相關值,
我在網上找到了一些腳本,但似乎不起作用:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script>
<script>
$(document).ready(function()
{
var refreshId = setInterval(function()
$.load('timeonpage.php?wzx=<?php echo $t; ?>&ip=<?php echo $ip; ?>');
}, 5000);
);
</script>
謝謝你的幫助!
語法錯誤,您缺少setInterval
函數的開頭,而.ready
方法的結尾
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script>
<script>
$(document).ready(function(){
var refreshId = setInterval(function(){ //SYNTAX ERROR HERE
$.load('timeonpage.php?wzx=<?php echo $t; ?>&ip=<?php echo $ip; ?>');
}, 5000);
}); // SYNTAX ERROR HERE
</script>
另外,我建議使用$.get
方法,因為JQuery中的.load通常是指將HTML加載到特定容器中:
var refreshId = setInterval(function(){
$.get('timeonpage.php',{wzx:<?php echo $t?>,ip:<?php echo $ip?>});
},5000);
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"> </script>
<script>
$(document).ready(function()
{
var refreshId = setInterval(function(){ //ANOTHER ERROR
$.load('timeonpage.php?wzx=<?php echo $t; ?>&ip=<?php echo $ip; ?>');
}, 5000);
}); //ERROR ON THIS LINE
</script>
好吧,在准備好文檔關閉時,您在其中缺少“}”。 嘗試一下,可能很簡單,如果不是,請報告,然后再進行查看:)
另外:如果您考慮使用第三方服務,請訪問GoSquared這個非常令人驚嘆的網站:)
編輯:setInterval行上的另一個錯誤:)
使用您當前的方法,如果用戶僅打開瀏覽器窗口,那么一天之內可能會被視為整個86,400秒在線。
就我個人而言,我的網站設置為每次用戶實際加載頁面時都會更新其“最后頁面加載”時間。 然后, cron
腳本每分鍾運行一次,並檢查最后一分鍾哪些用戶加載了頁面。 計算這些費用可以讓我合理地確定每個用戶在線花費了多少時間。
此外,這將減少服務器上的WAY負載-如果您的站點上有50多個用戶,則解決方案可能會殺死它。
調用一個Ajax腳本將頁面和您想要的任何其他數據保存到數據庫,然后返回存儲在變量中的唯一ID,可能會比onLoad效率更高。 然后,在onbeforeunload事件中,您可以使用唯一的ID再次調用數據庫。 只是我的兩分錢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.