实时Javascript事件跟踪(Javascript统计)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了实时Javascript事件跟踪(Javascript统计),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2074字,纯文字阅读大概需要3分钟。
内容图文
![实时Javascript事件跟踪(Javascript统计)](/upload/InfoBanner/zyjiaocheng/742/bfcf6b8fe4d54b53b1ee5e2f63955fa7.jpg)
网上有很多实时网络统计服务(w3counter-histats-gostats).当请求页面时,它们只计算一次,但我想要做的是跟踪javascript函数/事件,因为我的网站是完全ajax.所以我想要像谷歌分析的事件跟踪器(http://code.google.com/intl/en/apis/analytics/docs/gaJS/gaJSApiEventTracking.html),但实时,非常简单.它可以托管或只是一个PHP脚本.谢谢.
示例事件
>用户创建了一些东西
>用户删除了一些东西
> ajax错误发生
>浏览器发生错误
>用户登录
我发现我的答案看一看
解决方法:
实现自己的并不是那么难.当事件发生时,您只需向服务器发送请求:tracker.gif?action = create& what = sth,tracker.gif?action = error& what = k_is_undefined等.
然后解析服务器日志以获取统计信息. (或者您通过tracker.php将您的请求发送到数据库中?action = create& what = sth)
由于您控制站点,现在可以在用户登录时轻松发出这些请求,或者ajax请求失败.
对于错误处理,您可以使用window.onerror:
// send a request about an event to the server
function fireEvent(action, message, options) {
var loggerUrl = "/tracker.gif", parameters;
options = options || {};
options.url = options.url || window.location.href;
options.user_agent = navigator.userAgent;
options.message = message;
for (var i in options) {
if (options.hasOwnProperty(i)) {
parameters += "&" + i + "=" + encodeURIComponent(options[i]);
}
}
new Image().src = loggerUrl + parameters;
}
// log script errors
window.onerror = function(errorMessage, url, line) {
fireEvent("error", errorMessage, {
url: url,
line: line
});
return true;
};
// example event on the page
fireEvent("ajaxError", "XY page failed to load");
(注意:safari中没有window.onerror)
UPDATE
这是PHP解析器的概念证明:
$i = 1;
$d = file_get_contents("log.txt");
$requests = explode("\n", $d);
foreach ($requests as $req) {
$pos = strpos($req, "tracker.gif");
if ($pos === false) continue;
$start_pos = strpos($req, "?", $pos);
$end_pos = strpos($req, " ", $start_pos); // can also be " HTTP"
$length = $end_pos - $start_pos;
$req = substr($req, $start_pos+1, $length);
$exprs = explode("&", $req);
echo $i . ".<br>"; // request number
$i += 1;
foreach ($exprs as $expr) {
list($name, $value) = explode("=", $expr);
echo $name . " =>" . $value . "<br>"; // key => value
}
}
内容总结
以上是互联网集市为您收集整理的实时Javascript事件跟踪(Javascript统计)全部内容,希望文章能够帮你解决实时Javascript事件跟踪(Javascript统计)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。