簡體   English   中英

Javascript-每X秒運行一個php文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM