Skip to content

tonyleecn/collection

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

前端数据采集 Collct.js 使用说明

数据采集 Collect.js

使用

页面中引用和简单配置即可。

head中添加配置:

   	`<script>
		var _YS = _YS || [];
		_YS.push(['Url','http://127.0.0.1:3000/users?']);
		// 收集的平台 host,默认不需要配置
		_YS.push(['systemName','myWap']);
		// 用户自定义收集字段
		_YS.userConfig = {
		author: '白云飘飘'
		};
		_YS.push(['_setAccount', 'YS-Test-1']);
		//_YS.push(['Action','Title']);
		_YS.push(['Target','a','div','button']);
		_YS.syserror = [];
		//记录客户端脚本错误 
		window.onerror = function(error) {
		try { 
		var msg; 
		for (var i = 0; i < arguments.length; i++) { 
		if (i == 0 || i == 2) { 
		msg += " | " + arguments[i]; 
		} 
		} 
		if (msg.length > 0 ) { 
		_YS.syserror.push('syserror:'+msg);
		} 
		return true; 
		} catch (e) { }; 
		};  
    </script>`

body底部添加引入:

    `<script>
		 (function() {
		var collect = document.createElement('script');
		collect.type = 'text/javascript';
		collect.async = true;
		// collect.js 所在的地址。如果是在本地直接改成本地地址;如果是在第三方服务器上,该第三方必须提供 http 和 https 地址。
		collect.src = ('https:' == document.location.protocol ? 'https://' : 'http://127.0.0.1:3000') + '/javascripts/collect.js';
		var s = document.getElementsByTagName('script')[0];
		s.parentNode.insertBefore(collect, s);
		})();
	</script>`

使用注意

   IE下点击a标签会触发onbeforeunload 事件,故如果a标签非跳转地址,href需要如此设置属性: href="###" ,或者 href="#";其中3个#号可以防止描点,推荐3个#号。建议按钮请用 button,而非a标签。

收集信息集合

字段名称 途径 说明
域名( domain ) javascript document.domain ;获取的值如:"domain" : "127.0.0.1"
URL (url) javascript document.URL;获取的值如:"url" : "http://127.0.0.1:3000/"
页面标题 (title) javascript document.title;获取的值如:"title" : "Express";
上一跳url、referrer (referrer) javascript document.referrer;获取的值如:"referrer" : "" ;
分辨率 (height:sh; width: sw) javascript window.screen.height & width; 获取的值如:"sh" : "1050" ,"sw" : "1680";
颜色深度 (cd) javascript window.screen.colorDepth; 获取的值如:"cd" : "32";
客户端语言 (lang) javascript navigator.language;获取的值如:"lang" : "zh-CN";
user-agent header(userAgent) javascript navigator.userAgent;获取的值如:"userAgent" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36";
访客标识 (_YS_userAccect),该值存在于返回的 cookie值中 javascript cookie字段 _YS_userAccect 注:是会话cookie;获取的值如:_YS_userAccect=8c4be85a-7d49-4cc2-ab90-95aa24d4ad95 ;该值已包含在下面获取的 cookie中,用来标记在会话阶段是否是同一个用户在操作;
用户浏览信息cookie (cookie) javascript document.cookie;获取的值如:"cookie":"Hm_lvt_2ea96f5214514cb0cf3b685a352bde25=1458020980;";
网页\网站标识 accout (accout) javascript 自定义对象,使用:_YS.push(['_setAccount', 'YS-Test-1']); ;获取的值如:"accout":"YS-Test-1" ;
网页\网站标识 accout (accout) javascript 离开页面时间 - 进入页面时间, 离开事件onbeforeunload;获取的值如:"disp" : "15131" ;
客户端脚本错误信息(syserror) javascript window.onerror – syserror;获取的值如:"syserror" : "syserror:undefined | 'dd' 未定义 | 47" ;
记录用户点击特殊标记标签(collectMark) javascript 有 collect 标记值的元素;获取的值如:"collectMark" : "提交测试代码";
点击某个元素获取到的该元素信息 (clickElement) javascript 有 collect 标记值的元素;获取的值如:"collectMark" : "提交测试代码";
systemName (systemName) javascript 标记哪个平台,默认值 window.location.host .split('.')[0] || '' ; 可设置 _YS.push(['systemName','myWap']); ;获取的值如:"systemName" : "myWap" ;
userConfig (userConfig) javascript 配置用户自定义字段,如:_YS.userConfig = {author: '白云飘飘'}; 获取的值如:"userConfig" : "author=%E7%99%BD%E4%BA%91%E9%A3%98%E9%A3%98" ;
Url javascript 配置保存数据的请求地址,必须。 如:_YS.push(['Url','http://127.0.0.1:3000/users?']); 该值不会传给后端。

更新记录

【2016-03-29】修改:

已添加collect标记的元素,无需再配置 _YS.push(['Target','a','div','button']) 也可发起请求。

【2016-04-01】 修改:

添加属性关闭配置,暂时只支持关闭 cookie ,配置如下: _YS.push(['CookieBool','false']); 
上传的属性中去除重复字段 userConfig;

About

前端数据采集(数据埋点)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 92.6%
  • HTML 7.0%
  • CSS 0.4%