前端监控

一个开源库:https://github.com/fex-team/alogs

使用图片发送get请求,上报信息,由于浏览器对图片有缓存,同样的请求,图片只会发送一次,避免重复上报。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var entry = {};
function report(url, data) {
if (!url || !data) {
return;
}

// @see http://jsperf.com/new-image-vs-createelement-img
var image = document.createElement('img');

var items = [];
for (var key in data) {
if (data[key]) {
items.push(key + '=' + encodeURIComponent(data[key]));
}
}

var name = 'img_' + (+new Date());
entry[name] = image;
image.onload = image.onerror = function () {
console.log(arguments);
entry[name] =
image =
image.onload =
image.onerror = null;
delete entry[name];
};

image.src = url + (url.indexOf('?') < 0 ? '?' : '&') + items.join('&');
}