<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脚本就实现了
这样当然不可以 地址是不经过运行的
但可以曲线的实现
<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脚本就实现了
但没测试过document.referrer要进行编码,确保传值给stat.php,只要stat.php没有输出,不影响
A页面
<script src="http://XXX.XXXX.XX.XX/stat.php?fro="+document.referrer>
<script src="http://XXX.XXXX.XX.XX/count.js">
B网:
count.js
----------------------
var fromurl="";
try {fromurl=top.document.referrer;} catch(err) {fromurl="";} finally {fromurl=(fromurl=="")?document.referrer:fromurl;}
fromurl=escape(fromurl);document.write("<img src=http://XXX.XXXX.XX.XX/stat.php?fro="+fromurl+">");
document.write(" <img src=http://XXX.XXXX.XX.XX/stat.php?fro="+escape(document.referrer)+">");
放在A的js 里
<script language="javascript" type="text/JavaScript" charset="gb2312">
var fromurl="";
fromurl=top.document.referrer;
document.write(fromurl);此句能显示出来路地址
document.write("<img src='http://xx.xx.xx.xx/stat.php?fro='+fromurl width='50' height='50'>");此句只在A上显示一个打红叉的图标,变量值fromurl没有传到stat.php中去,只否<img src=语句是不能传送变量值的?还是打叉的图标表示这句根本就没执行到stat.php程序中去。?
</script>
2. script标签也是同理。
3. 隐藏的iframe
4. httpRequesst反正能把这个变量传给stat.php就行,在stat.php处用$_GET['from']就可以拿到值
1. 用一张图片。src是stat.php?from=, 后面要跟document.referrer编码后的值,可以用js来做,和php的urlencode一样的
我试了多次,现在问题是,传都传不过去,并不是说,传过去的值不对啊,这与是否编码没有关系啊。
2、script标签,我试了很多次,根本不能传变量值,不知道你有没有确切试过?
其它两种复杂了。
所以最好能够有第一种方法可实现,有没有人确切试过,并成功的?迫切需要有经验的兄弟指点。
你的
document.write(" <img src='http://xx.xx.xx.xx/stat.php?fro='+fromurl width='50' height='50'>");
我的
document.write(" <img src='http://xx.xx.xx.xx/stat.php?fro="+fromurl+"' width='50' height='50'>");
我直接这样写,
document.write("<img src='http://xx.xx.xx.xx/stat.php?fro=111' width='50' height='50'>");
在stat.php里都得不到值,不知道是怎么回事???只在页面上显示一个打红叉图片框,框大小倒是对的(因为我没有输出图片,这不要紧)。
<?php
$im = imagecreate(200,50);
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, print_r($_GET,1), $text_color);
imagepng($im);
imagedestroy($im);
?>
这里的referrer就是一个html里的字符串。请弄清楚JS环境和HTML环境的区别。
1、在A网站页面放置一段统计代码如下:
<script src="http://XXX.XXXX.XX.XX/stat.php>
B网站上放置stat.php统计程序
代码为:
<?php
echo "var fromurl='';";
echo "fromurl=top.document.referrer;"; (取得用户的来路地址)
echo "document.write(fromurl+'<br>');";
echo "document.write(\"<iframe src='http://x.x.x.x/count.php?fro=\"+fromurl+\"' width='350' height='150'></iframe>\");"; 将包含有来路地址的变量fromurl传给统计程序count.php。 (如果width=0 height=0则不会将帧框架显示出来)
?>
这样,就可以将fromurl变量内的值传送给count.php。