Skip to content

Commit b765191

Browse files
author
shengyonggen
committed
增加自定义不采集某些点击图,修改取值异常的bug
1 parent 4197bd7 commit b765191

File tree

6 files changed

+71
-31
lines changed

6 files changed

+71
-31
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sa-sdk-javascript",
3-
"version": "1.8.1",
3+
"version": "1.8.4",
44
"description": "official sensorsdata javascript sdk",
55
"main": "sensorsdata.min.js",
66
"scripts": {

sensorsdata.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/sdk.js

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
var ArrayProto = Array.prototype
2-
, FuncProto = Function.prototype
3-
, ObjProto = Object.prototype
4-
, slice = ArrayProto.slice
5-
, toString = ObjProto.toString
6-
, hasOwnProperty = ObjProto.hasOwnProperty
7-
, LIB_VERSION = '@@sdk_version';
1+
var ArrayProto = Array.prototype;
2+
var FuncProto = Function.prototype;
3+
var ObjProto = Object.prototype;
4+
var slice = ArrayProto.slice;
5+
var toString = ObjProto.toString;
6+
var hasOwnProperty = ObjProto.hasOwnProperty;
7+
var LIB_VERSION = '@@sdk_version';
88

99
sd.lib_version = LIB_VERSION;
1010

@@ -357,7 +357,7 @@ _.strip_sa_properties = function(p) {
357357
if (_.isString(arrv)) {
358358
temp.push(arrv);
359359
} else {
360-
logger.info('您的数据-', v, '的数组里的值必须是字符串,已经将其删除');
360+
logger.info('您的数据-',k, v, '的数组里的值必须是字符串,已经将其删除');
361361
}
362362
});
363363
if (temp.length !== 0) {
@@ -369,7 +369,7 @@ _.strip_sa_properties = function(p) {
369369
}
370370
// 只能是字符串,数字,日期,布尔,数组
371371
if (!(_.isString(v) || _.isNumber(v) || _.isDate(v) || _.isBoolean(v) || _.isArray(v))) {
372-
logger.info('您的数据-', v, '-格式不满足要求,我们已经将其删除');
372+
logger.info('您的数据-',k, v, '-格式不满足要求,我们已经将其删除');
373373
delete p[k];
374374
}
375375
});
@@ -1674,7 +1674,7 @@ var saNewUser = {
16741674
// 判断最近一次,如果前向地址跟自己域名一致,且cookie中取不到值,认为有异常
16751675
// 最近一次站外前向地址,如果域名不一致,就register为latest
16761676
if(url_domain === referrer_domain){
1677-
if(!store.getProps() || !store.getProps().$latest_referrer){
1677+
if(!store.getProps() || !('$latest_referrer' in store.getProps())){
16781678
sd.register({
16791679
$latest_referrer: '取值异常',
16801680
$latest_referrer_host: '取值异常',
@@ -2171,8 +2171,24 @@ saEvent.send = function(p, callback) {
21712171
}
21722172
}
21732173
},
2174-
autoTrackWithoutProfile:function(para){
2175-
this.autoTrack(_.extend(para,{not_set_profile:true}));
2174+
autoTrackSinglePage:function(para,callback){
2175+
var url = _.info.pageProp.url;
2176+
function closure(){
2177+
sd.track('$pageview', _.extend({
2178+
$referrer: url,
2179+
$referrer_host: _.url('hostname',url) || '',
2180+
$url: location.href,
2181+
$url_path: location.pathname,
2182+
$title: document.title
2183+
}, para),callback
2184+
);
2185+
url = location.href;
2186+
}
2187+
closure();
2188+
this.autoTrackSinglePage = closure;
2189+
},
2190+
autoTrackWithoutProfile:function(para,callback){
2191+
this.autoTrack(_.extend(para,{not_set_profile:true}),callback);
21762192
},
21772193
autoTrack: function(para, callback) {
21782194
para = _.isObject(para) ? para : {};
@@ -3250,6 +3266,10 @@ var heatmap = {
32503266
}
32513267
},
32523268
start : function(ev, target, tagName) {
3269+
if(sd.para.heatmap && sd.para.heatmap.collect_element && !sd.para.heatmap.collect_element(target)){
3270+
return false;
3271+
}
3272+
32533273
var selector = this.getDomSelector(target);
32543274
var prop = _.getEleInfo({target:target});
32553275

src/sensorsdata.full.js

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,13 @@ sd.initPara = function(para){
116116

117117
};
118118

119-
var ArrayProto = Array.prototype
120-
, FuncProto = Function.prototype
121-
, ObjProto = Object.prototype
122-
, slice = ArrayProto.slice
123-
, toString = ObjProto.toString
124-
, hasOwnProperty = ObjProto.hasOwnProperty
125-
, LIB_VERSION = '1.8.1.4';
119+
var ArrayProto = Array.prototype;
120+
var FuncProto = Function.prototype;
121+
var ObjProto = Object.prototype;
122+
var slice = ArrayProto.slice;
123+
var toString = ObjProto.toString;
124+
var hasOwnProperty = ObjProto.hasOwnProperty;
125+
var LIB_VERSION = '1.8.1.5';
126126

127127
sd.lib_version = LIB_VERSION;
128128

@@ -475,7 +475,7 @@ _.strip_sa_properties = function(p) {
475475
if (_.isString(arrv)) {
476476
temp.push(arrv);
477477
} else {
478-
logger.info('您的数据-', v, '的数组里的值必须是字符串,已经将其删除');
478+
logger.info('您的数据-',k, v, '的数组里的值必须是字符串,已经将其删除');
479479
}
480480
});
481481
if (temp.length !== 0) {
@@ -487,7 +487,7 @@ _.strip_sa_properties = function(p) {
487487
}
488488
// 只能是字符串,数字,日期,布尔,数组
489489
if (!(_.isString(v) || _.isNumber(v) || _.isDate(v) || _.isBoolean(v) || _.isArray(v))) {
490-
logger.info('您的数据-', v, '-格式不满足要求,我们已经将其删除');
490+
logger.info('您的数据-',k, v, '-格式不满足要求,我们已经将其删除');
491491
delete p[k];
492492
}
493493
});
@@ -1792,7 +1792,7 @@ var saNewUser = {
17921792
// 判断最近一次,如果前向地址跟自己域名一致,且cookie中取不到值,认为有异常
17931793
// 最近一次站外前向地址,如果域名不一致,就register为latest
17941794
if(url_domain === referrer_domain){
1795-
if(!store.getProps() || !store.getProps().$latest_referrer){
1795+
if(!store.getProps() || !('$latest_referrer' in store.getProps())){
17961796
sd.register({
17971797
$latest_referrer: '取值异常',
17981798
$latest_referrer_host: '取值异常',
@@ -2283,8 +2283,24 @@ saEvent.send = function(p, callback) {
22832283
}
22842284
}
22852285
},
2286-
autoTrackWithoutProfile:function(para){
2287-
this.autoTrack(_.extend(para,{not_set_profile:true}));
2286+
autoTrackSinglePage:function(para,callback){
2287+
var url = _.info.pageProp.url;
2288+
function closure(){
2289+
sd.track('$pageview', _.extend({
2290+
$referrer: url,
2291+
$referrer_host: _.url('hostname',url) || '',
2292+
$url: location.href,
2293+
$url_path: location.pathname,
2294+
$title: document.title
2295+
}, para),callback
2296+
);
2297+
url = location.href;
2298+
}
2299+
closure();
2300+
this.autoTrackSinglePage = closure;
2301+
},
2302+
autoTrackWithoutProfile:function(para,callback){
2303+
this.autoTrack(_.extend(para,{not_set_profile:true}),callback);
22882304
},
22892305
autoTrack: function(para, callback) {
22902306
para = _.isObject(para) ? para : {};
@@ -3362,6 +3378,10 @@ var heatmap = {
33623378
}
33633379
},
33643380
start : function(ev, target, tagName) {
3381+
if(sd.para.heatmap && sd.para.heatmap.collect_element && !sd.para.heatmap.collect_element(target)){
3382+
return false;
3383+
}
3384+
33653385
var selector = this.getDomSelector(target);
33663386
var prop = _.getEleInfo({target:target});
33673387

version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
var sensorsdata_js_sdk_latest_version = '1.8.1.3';
1+
var sensorsdata_js_sdk_latest_version = '1.8.1.4';
22
var sensorsdata_js_sdk_noupdate_version = 'latest1';

vtrack.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)