1

我想知道是否可以使用 JavaScript 计算用户在我的网站上加载页面的次数。大概是这样的?

var pageloads = 1;
$(document).ready(function(){
var pageloads =++
});

但我会在哪里存储它?在饼干里?

4

5 回答 5

4

如果像 IE7 及以下的旧浏览器不是问题,您可以使用本地存储:

$(function(){
     var loaded = parseInt(localStorage.getItem('loaded'), 10),
         loaded_numb = loaded?loaded+1:1;
     localStorage.setItem('loaded', loaded_numb);

     $('body').append('<p>This page was loaded by you '+loaded_numb+' times !');
});

小提琴

于 2012-10-17T15:06:02.973 回答
2

使用 cookie 更容易做到(特别是因为没有理由完全阻止 IE7 及更低版本)

var numLoads = parseInt(getCookie('pageLoads'), 10);

if (isNaN(numLoads) || numLoads <= 0) { setCookie('pageLoads', 1); }
else { setCookie('pageLoads', numLoads + 1); }

console.log(getCookie('pageLoads'));

getCookie/setCookie 简单的 get/set 函数(可以在 jsFiddle 中找到)

jsFiddle 演示

于 2012-10-17T15:10:24.050 回答
0

您可以将其存储在数据库中。如果您正在寻找监控网页上的流量,您应该查看 Google Analytics http://www.google.com/analytics/

它们向您显示有多少人访问了您的网站,无论他们是新用户还是返回用户,他们通过您的网站所走的路径,跳出率等。最好的部分是它是免费的。

于 2012-10-17T15:05:56.080 回答
0

为什么要使用 Javascript 来执行此操作?无论您使用什么服务器,都应该具有存储所有请求、发出请求的 IP 等等的访问日志。甚至还有免费的日志文件分析器,例如 awstats 和 Google Analytics。您应该在服务器端执行此操作,而不是客户端。

如果你真的想用 JavaScript 存储它,那么你唯一的选择是 cookie 和 LocalStorage——这两个都是非常短暂的。

于 2012-10-17T15:07:04.907 回答
-1

这是不可能的 - 编辑:跟踪实际用户。

您只能使用 cookie 跟踪浏览器的特定实例。

没有单独使用 javascript 跟踪“用户”这样的事情。不过,您可以可靠地计算用户登录等内容。

于 2012-10-17T15:08:37.933 回答