破宝

我是一块破破烂烂的宝贝石头。
随笔 - 85, 评论 - 1279, 引用 - 54

导航

工具

关于

自选精华版 RECOMMENDATIONS
留言板 GUESTBOOK

本人 blog 文章、图片及其他资源等,除另有声明外,均遵循以下原则向全球(当然包括朝鲜、古巴、利比亚等国)共享:

1。欢迎转载、复制、传播、引用,但转载、复制(包括但不仅限于作为参考资料复制到本地)、传播、引用同时必须在显著位置注明作者(破宝/percyboy)和文章原始 URL 地址等信息。但商业转载、复制、传播(尤指用于图书、光盘等媒体的部分或全部),须事先征得本人的许可。

2。文章以“现状”提供,不为由于使用本站资源而造成的任何损失而负责,仅提供力所能及的咨询和参考意见。

3。关于修改:允许您将本 blog 中的资源作为参考资料复制时的一定修改,但仍须保留作者和出处信息;其他情况下的修改(包括修改后再发布),须和本人确认许可。
 

标签

每月存档

广告



访客

 

我在做一个网页计数器时遇到了一点问题,想请教大家:

我设想我的计数器的大致需要是:除了统计每天访问次数外,还要统计客户端环境的一些信息,如:操作系统平台,使用的浏览器,屏幕分辨率大小,Referrer,等。

大多数计数器都是采用客户端 javascript 脚本的方式来嵌入计数器网页的,如:

     <script language="javascript" src="counter.aspx?id=23"></script>

在 counter.aspx 中,我们则需要直接写入当前的数字;或者以拼图的方式将数字拆开,然后写入一串数字的图片。总而言之,这些都是服务端的事情了,比较简单了。

事实上,这样的情形中我们一般还需要将一些客户端信息,如:Referrer,屏幕分辨率大小等以某种方式(一般是 QueryString)传回服务端,如下:

     <script language="javascript">
         var tmp = "<scri" + "pt language='javascript' src='counter.aspx?"
                    + "id=23&referrer=" + document.referrer 
                    + "&screenwidth=" +
 screen.width + "'></scri" + "pt>";
        document.write(tmp);
     </script>

但我发现一个问题,我们无法记录到搜索引擎等所使用的 Crawler 的踪影,因为 Crawler 不会解析这样的脚本。然而,Crawler 对于我们来说太重要了,我不想舍弃对它们的跟踪。

那么另一种方案就是直接将计数器代码写入 Web Forms 中(或者间接地,做成 Control 再放入),这样在 Crawler 访问时,计数器肯定能够觉察到;但另一方面,我们无法统计客户端屏幕分辨率大小(这似乎是个小问题);还有,我们的计数器被 *.aspx 牢牢困住了,我们只能统计 *.aspx 页面了,连 *.htm 也无法统计了!

怎样才能兼顾二者呢?怎样才能既能察觉到 Crawler 的踪影,又能保证一定的灵活性呢?有谁可以给个思路呢?


注①:虽然在服务端用 Request.Referrer 可以返回一个 Referrer,但我们得到的是 counter.aspx 的 Referrer,也就是我们正在统计的目标页面。所以必须在我们统计的目标页面中用 document.referrer 取得。而在下面一种方案中,由于计数器直接包含在目标页面中,所以 Request.Referrer 就是我们要的。

相关文章

Loading...

打印 | 张贴于 2003-11-28 01:32:00 | Tag:暂无标签

留言反馈

#回复: 关于网页计数器的一点小疑问 编辑
学习一下.
关注统计方面的知识
2007-01-27 16:03:00 | [匿名用户:net]
#回复: 关于网页计数器的一点小疑问 编辑
关注统计方面的知识
2007-01-27 16:02:00 | [匿名用户:net]
#re: 关于网页计数器的一点小疑问 编辑
高手呀,都是搞网页的高手.
我也得加强努力了.
2006-03-23 10:44:00 | [匿名用户:111]
#re: 关于网页计数器的一点小疑问 编辑
请问到那里可以下载好的记数器
2005-10-02 10:42:00 | [匿名用户:zhang ddd]
#re: 关于网页计数器的一点小疑问 编辑
脚本无法获取搜索引擎的,上面的单词应该是spider吧?
要兼容两者,只有在动态页面中使用两者!html中无法获取spider。
我也做了一个统计小插件。或许可以交流一下:)
2005-06-16 19:17:00 | [匿名用户:david]
#re: 关于网页计数器的一点小疑问 编辑
referrer是什么意思?
2005-04-18 10:31:00 | [匿名用户:s128]
#re: 关于网页计数器的一点小疑问 编辑
2005-03-24 10:39:00 | [匿名用户:todi]
#re: 关于网页计数器的一点小疑问 编辑
请教各位大侠,能不能用 javascript 获取referrer 的 referrer?
2004-12-11 11:44:00 | [匿名用户:我想]
#re: 关于网页计数器的一点小疑问 编辑
能把你的网页代码发给我看一下吗?
2004-11-11 10:02:00 | [匿名用户:斯多夫送]
#回复: 关于网页计数器的一点小疑问 编辑
Crawler会爬遍页面内的连接,可以使用一个在暗处的连接,来让Crawler访问,这个页面用ASPX来分析,在每个文件里的暗链内加上特有ID,来标明,这个连接是Crawler从什么页面捕获的,思路很简单,因为这个连接是一般用户点不到看不到的,就算被一般客户从查看原文件中得到连接,进入ASPX后也很好区分它是否是Crawler
2004-06-01 18:48:00 | [匿名用户:病毒养殖场]
#回复: 关于网页计数器的一点小疑问 编辑
Crawler 是搜索引擎用的网络爬行者,通过它们在 Web 上爬行,寻找超链接,抓取叶面内容,为搜索引擎下一步索引工作做准备。
2003-12-12 14:45:00 | [匿名用户:破宝]
#我的办法 编辑
说真的,我很惭愧,我根本不知道上述“Crawler”是指的什么,或者是因为我的英语基础太差导致的。

所以我只能说一说我遇到的两个问题的解决办法,或者正在这其中:
1、有时候无法使用上述第二段红色的代码获得document.referrer,很明显这是因为document.referrer中可能也包含“&”,所以我利用javascript在将它传递给服务器段之前进行URLCODE编码。
2、我们很需要获得URL中的搜索引擎关键词,但是像google这样的网站将关键词使用UTF-8编码,如果使用ASP中的REQUEST对象获取它,得到的很可能会是乱码,我的解决办法是先用javascript的decodeURIComponent函数将其解码,然后再传递给服务器端。

或者我说的都不是楼顶所要问的,但我只能这样了,我会尽快设法弄懂“Crawler”所指的究竟是什么。
2003-12-10 22:07:00 | [匿名用户:阿江]
#回复: 关于网页计数器的一点小疑问 编辑
可以用两个计数器,一个专门针对Crawler,一个专门针对外部的
2003-11-28 10:14:00 | [匿名用户:小峰]
#回复: 关于网页计数器的一点小疑问 编辑
为什么不使用ISAPI来写计数器程序呢?
2003-11-28 08:35:00 | [匿名用户:豆腐]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System