Giter VIP home page Giter VIP logo

collection's Introduction

前端数据采集 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;

collection's People

Contributors

534591395 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

collection's Issues

i 遍历被重复声明了

collection 的 each 方法定义的时候,for 循环的 i 被重复定义了呢

helper.each = function(loopable, callback, self) {
				var additionalArgs = Array.prototype.slice.call(arguments,3);
				if(loopable) {
						if(loopable.length === +loopable.length) {
								var i;
								for(var i=0; i

用户离开页面时返回逗留时间问题

是否能在onbeforeunload里面添加一下开始时间初始化collect.timer();

window.onbeforeunload = function(evt){
that.parmas.disp = new Date().getTime() - that.disp;
//重新初始化下进入时间(针对单页面)
collect.timer();
if(!helper.getCookie('_YS_userAccect')) {
helper.setCookie('_YS_userAccect', that.uuid);
}
delete that.parmas.collectMark;
delete that.parmas.clickElement;
that.setParames();
helper.send(helper.changeJSON2Query(that.getParames()), that.url);
};
针对单页面添加一下时间初始化。谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.