网站日志系统的设计(一)

本文介绍了如何使用JavaScript设计网站日志系统,包括Ajax和Script方法。Ajax方法受限于跨域问题,而Script方法能够实现类似Google Analytics的效果,通过动态添加script标签,将用户行为数据发送到PHP脚本,进而存储到MySQL数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果要监测一个网站的流量,日志系统肯定是少不了的,可以用google analytics。但如果自己设计,可以获取更多的信息。

最简单的日志系统,是用服务器脚本,比如php来记录,这其实和apache的记录差不多。但这种方法无法跟踪用户的点击和鼠标。所以这种方法就不介绍了。

用javascript来设计网站的日志系统,可以用两种方法设计,Ajax或者script方法(这个方法没有标准的名字,所以暂时叫script方法)。

Ajax方法主要适用于记录本服务器网站的日志,这主要是因为ajax的跨域是比较困难的,我暂时还没有看到比较好的解决方法。对于一个大的网站,有几台服务器,这个方法就不好了,所以这个方法就不介绍了,估计google analytics也不是用这个方法做的。

script方法设计网站的日志系统,最终可以做出和Google一样的效果,就是只要在被统计网页中加入一个js代码,就可以统计了。这个方法的基本原理是动态的在html文件中加入script标签。

假设我们需要统计的网页是a.html 日志的js文件叫 log.js

那么我们只要在a.html的</body>前面加入以下代码

<script src=log.js type="text/javscript"></script>


下面就是考虑log.js文件的设计了。

如 果用户在a.html进行了某些行为,被log.js捕捉到了,log.js需要将这一个行为通知一个php文件,php文件复制将这一个行为写入到一个 mysql的数据库中。那么log.js通知log.php实现的方法就体现了script方法和ajax方法的区别。

如果a.html log.js和log.php 是在同一个域名下面的,就可以用ajax,但如果不是就只能用下面的方法了。

先看一下sendLog的代码:

function sendLog(act) 

 
var s = document.createElement("script"); 
 s.type 
= "text/javascript"
 s.src 
= "http://127.0.0.1/log.php?screen="+scr+"&page="+page+"&act="+act+"&ref="+ref+"&t="+title; 
 document.getElementsByTagName(
"head")[0].appendChild(s); 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值