0

我有一个 Web 形式的 Asp.Net,我希望 JavaScript 计算我刷新页面的次数。

4

5 回答 5

2

你想计算每个用户的数量吗?还是整个应用程序?

如果您正在为整个应用程序做,您可以在每个页面请求上使用 Global.asax 中的应用程序变量。但是,如果您的应用程序循环使用,这可能会丢失。

如果你想为每个用户做你可以在客户端使用服务器端会话或 cookie。

于 2012-09-04T14:14:25.233 回答
2

如果您想在客户端执行此操作,只需保存(并检索)localstorage每次 load事件发生时的信息

于 2012-09-04T14:17:43.140 回答
1

您可以使用 js 或 asp 在cookie中设置值,或者在会话值(单个用户)或应用程序值(所有用户)中设置值,不需要 javascript。

您必须将此代码服务器端放在页面加载上。

对于所有用户:

Application["refresh_count"] =
 Convert.ToInt64(HttpContext.Current.Application["refresh_count"]) + 1;

对于具有会话的单个用户:

Session["refresh_count"] = Convert.ToInt64(Session["refresh_count"]) + 1;

或者

Response.Cookies["UserSettings"]["refresh_count"] = Convert.ToInt64(Response.Cookies["UserSettings"]["refresh_count"]) + 1;
Response.Cookies["UserSettings"].Expires = DateTime.Now.AddDays(1d);
于 2012-09-04T14:27:00.263 回答
0

您可以将其保存在会话对象中。

于 2012-09-04T14:14:38.277 回答
0

您可以使用 jQuery 调用准备好的地址。例如:

$.ajax({
  url: ".../countPageRefreshes.aspx",
  data: { page: "thisPageAddress" }
})

然后,在 countPageRefreshes 中,您可以增加页面刷新的次数并将其保存在某处。

于 2012-09-04T14:18:04.607 回答