首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

关于来路统计的难题,困扰了好多天了,请高手进来看一上

在A网站页面放置一段统计代码如下:
<script src="http://XXX.XXXX.XX.XX/stat.php?fro="+document.referrer>
B网站上放置stat.php统计程序
本意希望实现,当用户从C网站点击到A网站的链接,来到A网站,B网站的统计程序能得到A网站的用户来路,即C网站链接到A的链接地址。
要求,1、当用户通过C网站到达A网站,不能因调用B网站统计程序而引起页面跳转。
2、当用户通过C网站到达A网站,不能因调用B网站统计程序而引起页面刷新。
3、B网站能得到A网站的用户来路。
实现应用中发现,document.referrer所得到的变量值无法传给B的stat.php,stat.php中得到的是document.referrer字符串,而不是document.referrer所包含的C到A的链接地址。
怎么做才能将document.referrer中的值传给stat.php???
我用过form自动提交方式,会产生页面跳转;采用过document.url语句,也会产生页面跳转,都不合适。
昵称: he8311  时间: 2008-08-20 23:58:35
<script src="http://XXX.XXXX.XX.XX/stat.php?fro="+document.referrer>
这样当然不可以 地址是不经过运行的
但可以曲线的实现
<script src="http://XXX.XXXX.XX.XX/stat.js" />
stat.js中通过XMLHttpRequest来访问http://XXX.XXXX.XX.XX/stat.php并且在GET中传递当前页面的地址

可以第一步用$_SERVER["HTTP_REFERER"]获得页面地址 如果失败输出JS代码 再失败往不可见区域插张图片 好像对于图片访问浏览器会发送来源地址到$_SERVER["HTTP_REFERER"]不一定对 呵呵 没测试过

其实最简单的办法就是看谁实现了这个功能 把JS拿回来稍微改改 弄清原理写个PHP脚本就实现了
昵称: ten789  时间: 2008-08-21 05:05:30
个人认为原则上这个应是可以的
但没测试过

document.referrer要进行编码,确保传值给stat.php,只要stat.php没有输出,不影响
A页面
<script src="http://XXX.XXXX.XX.XX/stat.php?fro="+document.referrer>
昵称: fxs_2008  时间: 2008-08-21 10:51:45