Javascript-每X秒运行一个php文件

Javascript-每X秒运行一个php文件,php,javascript,jquery,Php,Javascript,Jquery,我希望能够以最简单的方式记录一个人在我的网站上的秒数。不需要谷歌分析或任何其他第三方来源 php脚本将创建到mysql的连接并更新相关值 我在网上找到了一些脚本,但似乎不起作用: $(文档).ready(函数() { var refreshId=setInterval(函数() $.load('timeonpage.php?wzx=&ip='); }, 5000); ); 谢谢你的帮助 <script src="http://ajax.googleapis.com/ajax/li

我希望能够以最简单的方式记录一个人在我的网站上的秒数。不需要谷歌分析或任何其他第三方来源

php脚本将创建到mysql的连接并更新相关值

我在网上找到了一些脚本,但似乎不起作用:



$(文档).ready(函数()
{
var refreshId=setInterval(函数()
$.load('timeonpage.php?wzx=&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>
$(文档).ready(函数() { var refreshId=setInterval(函数(){//另一个错误 $.load('timeonpage.php?wzx=&ip='); }, 5000); }); //这行有错误
好吧,在文件准备结束时,你缺少了一个“}”。试试看,可能是这么简单,如果不是,请报告,然后再看一眼:)

也:如果你考虑一个第三方的服务,看一看,那里非常惊人的站点:


编辑:setInterval行上的另一个错误:)

存在语法错误,您缺少打开
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>

使用您当前的方法,如果用户只打开浏览器窗口,则一天中可能有86400秒的时间是在线的

就个人而言,我的网站是这样设置的,每次用户实际加载页面时,他们的“最后加载页面”时间都会更新。然后,
cron
脚本每分钟运行一次,检查哪些用户在最后一分钟加载了页面。把这些加起来,我就可以很好地确定每个用户在网上花了多少时间


另外,,这将减少服务器上的负载—如果您的站点上有50多个用户,您的解决方案可能会杀死它。

调用Ajax脚本将页面和任何其他数据保存到数据库中,然后返回存储在变量中的唯一id,这可能会更高效。在onbeforeunload事件中,您可以使用唯一id再次调用数据库。只需我的两分钱…

请定义在此上下文中“似乎不起作用”的含义!这并不能回答你的问题,但是使用google analytics(即使它的功能比你所需要的要多)比使用你自己的解决方案简单得多。我认为使用onbeforeunload来跟踪时间会好得多。2012年人们仍然混合使用JS和PHP,这是怎么回事?然后他们就不知道他们的代码出了什么问题对不起,胡安,不是每个人都是一个疯狂的好程序员。我正在努力学习…----另外,Ibu、onbeforeunload会让人看到一个弹出窗口,这是很多人都不喜欢的,有些浏览器根本不像Opera那样加载。是的,更不用说没有文档记录,而您提到的()是
$的缩写。get
使用隐式回调将html加载到DOM中,正如您所说的。由于没有html被添加到DOM中,
$.get
确实更有意义。非常感谢。get和错误修复成功了。谢谢谢谢谢谢你!!!!!!这正是我现在正在使用的,只是想远离弹出窗口。
<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>
var refreshId = setInterval(function(){
    $.get('timeonpage.php',{wzx:<?php echo $t?>,ip:<?php echo $ip?>});
},5000);