我做了一个JS方法创建了一个记录网站访问数的程序
如
在页面中添加
<script type="text/javascript" src="http://192.168.1.105/ClickTale.aspx"></script>
然后在
ClickTale.aspx
将数据写入数据库我这里用SessionID来记录访问人数
但奇怪的是在我的 protected void Page_Load(object sender, EventArgs e)
{
String script = "";
String dd = Session.SessionID; //这里的SessionID竟然不能唯一, 每次刷新都会是不同的
//script += "alert(escape(window.document.referrer));";
//URL是取当要统计的页面的来源的页面地址
script += "document.write('<img src=\"http://" + Request.Url.Host + (Request.Url.Port == 80 ? "" : ":" + Request.Url.Port) + ResolveUrl("Info.aspx") + "?URL=' + escape(window.document.referrer) + '&guid=" +DateTime.Now.ToString("HHmmss") + DateTime.Now.Millisecond + "\" style=\"display:none\" />')";
Response.Clear();
Response.Write(script);
}那什么我这里的Session.SessionID会一直变呢
这样的话我就取不了访问人数了,难道在被统计的页面里面的
http://192.168.1.105/ClickTale.aspx
每次都是一个新的链接吗, 那我要怎么办呢谢谢
如
在页面中添加
<script type="text/javascript" src="http://192.168.1.105/ClickTale.aspx"></script>
然后在
ClickTale.aspx
将数据写入数据库我这里用SessionID来记录访问人数
但奇怪的是在我的 protected void Page_Load(object sender, EventArgs e)
{
String script = "";
String dd = Session.SessionID; //这里的SessionID竟然不能唯一, 每次刷新都会是不同的
//script += "alert(escape(window.document.referrer));";
//URL是取当要统计的页面的来源的页面地址
script += "document.write('<img src=\"http://" + Request.Url.Host + (Request.Url.Port == 80 ? "" : ":" + Request.Url.Port) + ResolveUrl("Info.aspx") + "?URL=' + escape(window.document.referrer) + '&guid=" +DateTime.Now.ToString("HHmmss") + DateTime.Now.Millisecond + "\" style=\"display:none\" />')";
Response.Clear();
Response.Write(script);
}那什么我这里的Session.SessionID会一直变呢
这样的话我就取不了访问人数了,难道在被统计的页面里面的
http://192.168.1.105/ClickTale.aspx
每次都是一个新的链接吗, 那我要怎么办呢谢谢
是同一个人员,我刷新页面
我那个统计表的SessionID就会变谢谢
protected void Page_Load(object sender, EventArgs e)
{
Session["s"] = "s";//如果你把这行注释掉的话.你会发现sessionid每次刷新都会变的,但你给付值后再看一下
string s = Session.SessionID;
Response.Write(s);
}
写入数据库,然后判断
lz你把我上边的例子放到一个页面里.(狂点刷新)
然后注释掉第一行试一下,然后再取消注释再试一下你就明白了.
--------------------------------------------------- protected void Page_Load(object sender, EventArgs e)
{
Session["ReferrerLog_ClickTale"] = "ReferrerLog_ClickTale";
String script = "";
String dd = Session.SessionID;
//script += "alert(escape(window.document.referrer));";
//URL是取当要统计的页面的来源的页面地址
script += "document.write('<img src=\"http://" + Request.Url.Host + (Request.Url.Port == 80 ? "" : ":" + Request.Url.Port) + ResolveUrl("Info.aspx") + "?URL=' + escape(window.document.referrer) + '&guid=" +DateTime.Now.ToString("HHmmss") + DateTime.Now.Millisecond + "\" style=\"display:none\" />')";
Response.Clear();
Response.Write(script);
}
以上是我改了的程序但还是不行
当我用浏览器访问这个页面
也就是说打入地址的时候,刷新,他的SessionID是不会变,满足了我的要求
但当我用:
<script type="text/javascript" src="http://192.168.1.105/ClickTale.aspx"> </script>
如果这样的话他的SessionID还是会变
-------------------------------------------
我这个是用来统计多个网站的流量
也就是说将这条js放在哪里我就会有对他进行统计谢谢
个人认为是不回变的,会不会是其它原因