《JavaScript设计模式》——11.3 站长统计

简介: 当然,代理对象有很多,简单一点的如img之类的标签通过src属性可以向其他域下的服务器发送请求。不过这类请求是get请求,并且是单向的,它不会有响应数据,就好比你站在河的一边向另一边发消息,却又不想让别人听见,所以你可以将你的消息写在纸上放在口袋里,然后扔过去,不过河对岸有没有人接收到你的消息就不得而知了。

本节书摘来自异步社区《JavaScript设计模式》一书中的第11章,第11.3节,作者:张容铭著,更多章节内容可以访问云栖社区“异步社区”公众号查看

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});
相关文章
|
3天前
|
设计模式 前端开发 JavaScript
【JavaScript 技术专栏】JavaScript 设计模式与实战应用
【4月更文挑战第30天】本文探讨JavaScript设计模式在提升开发效率和代码质量中的关键作用。涵盖单例、工厂、观察者、装饰器和策略模式,并通过实例阐述其在全局状态管理、复杂对象创建、实时数据更新、功能扩展和算法切换的应用。理解并运用这些模式能帮助开发者应对复杂项目,提升前端开发能力。
|
5月前
|
设计模式 JavaScript 数据安全/隐私保护
js设计模式之工厂模式
js设计模式之工厂模式
33 0
|
4月前
|
设计模式 前端开发 算法
【面试题】 ES6 类聊 JavaScript 设计模式之行为型模式(二)
【面试题】 ES6 类聊 JavaScript 设计模式之行为型模式(二)
|
27天前
|
JavaScript 前端开发
如何通过js实现对句子个数的统计
使用JavaScript统计文本中句子个数,可通过识别语言类型(中文/日文:句号、问号、感叹号,西方语言:.?!)来分割文本。示例代码提供。同样,也有字数统计函数,对中文和西方语言处理方式不同。
|
2月前
|
设计模式 缓存 JavaScript
js常用设计模式
js常用设计模式
22 1
|
3月前
|
监控 JavaScript 前端开发
统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量
统计项目代码行数轻松搞定:使用 Node.js 脚本自动统计代码量
63 0
|
5月前
|
设计模式 存储 JavaScript
js设计模式之单例模式
js设计模式之单例模式
47 7
|
10月前
|
设计模式 前端开发 JavaScript
|
10月前
|
设计模式 前端开发 JavaScript
|
5月前
|
JavaScript
JS判断一个字符串中出现次数最多的字符 统计这个次数
JS判断一个字符串中出现次数最多的字符 统计这个次数