首页 > 技术文章 > img 标签上报日志

xlsdg 2020-06-11 11:13 原文

 1 function imgReporter(url) {
 2     var _log = window['_imgLog'] || (window['_imgLog'] = {}),
 3         _unique = (function() {
 4             var time = (new Date()).getTime() + '-', i = 0;
 5             return function() {
 6                return time + (i++);
 7             }
 8         })(),
 9         _putQuery = function _putQuery(_data) {
10             if (typeof _data === 'string') {
11                 return _data;
12             }
13             var query = [];
14             for (var p in _data) {
15                 if (Object.prototype.hasOwnProperty.call(_data, p)) {
16                     var v = _data[p];
17                     query.push((typeof v === 'object') ? serializeObj(v) : (encodeURIComponent(p) + '=' + encodeURIComponent(v)));
18                 }
19             }
20             return query.join('&');
21         };
22     return function(data) {
23         var _t = _unique();
24         var _img = _log[_t] = new Image();
25         _img.onload = _img.onerror = function() {
26             // console.log(arguments);
27             _img.onload = _img.onerror = null;
28             _img = null;
29             delete _log[_t];
30         };
31         _img.src = url + _putQuery(data) + '&_t=' + _t;
32     };
33 }
34 
35 var r = imgReporter('https://www.baidu.com');
36 r('/s?ie=UTF-8&tn=90594569_hao_pg&wd=123');
37 <noscript><img src="..." border="0" width="0" height="0"/></noscript>

 

推荐阅读