11.3 站长统计
“当然,代理对象有很多,简单一点的如img之类的标签通过src属性可以向其他域下的服务器发送请求。不过这类请求是get请求,并且是单向的,它不会有响应数据,就好比你站在河的一边向另一边发消息,却又不想让别人听见,所以你可以将你的消息写在纸上放在口袋里,然后扔过去,不过河对岸有没有人接收到你的消息就不得而知了。”
“你说的还挺有意思的,不过这类代理对象有什么应用呀?”小白问。
“很多呀,比如一些站长平台会有对于你的页面的统计项,其实现原理就是在你的页面触发一些动作的时候向站长平台发送这类img的get请求,然后他们会对你发的请求做统计,然而你并不知道统计的相关消息。”小铭解释道。
// 统计代理
var Count = (function(){
// 缓存图片(参考第二十二章,备忘录模式)
var _img = new Image();
// 返回统计函数
return function(param){
// 统计请求字符串
var str = 'http://www.count.com/a.gif?';
// 拼接请求字符串
for(var i in param){
str += i + '=' + param[i];
}
// 发送统计请求
_img.src = str;
}
})();
// 测试用例,统计num
Count({num : 10});
时间: 2024-11-05 23:21:30