Skip to content

Commit b702acd

Browse files
author
shengyonggen
committed
Release 1.18.13
1 parent 6fcfc22 commit b702acd

14 files changed

+77
-64
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.18.13 (2021-8-18)
2+
1. 新增
3+
- 新增支持 `data-sensors-click` 无限层级
4+
15
## 1.18.12 (2021-8-4)
26
1. 新增
37
- 新增 `Item` 相关接口

core/sensorsdata.amd.min.js

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

core/sensorsdata.es6.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/sensorsdata.min.js

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

heatmap.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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.18.12",
3+
"version": "1.18.13",
44
"description": "official sensorsdata javascript sdk",
55
"main": "sensorsdata.min.js",
66
"scripts": {

product/heatmap.full.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9405,7 +9405,7 @@
94059405

94069406
window.sa_jssdk_heatmap_render = function(se, data, type, url) {
94079407
sd = se;
9408-
sd.heatmap_version = '1.18.12';
9408+
sd.heatmap_version = '1.18.13';
94099409
_ = sd._;
94109410

94119411
_.bindReady = function(fn, win) {

product/sensorsdata.amd.full.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1531,7 +1531,7 @@
15311531
}
15321532
while (element.parentElement !== null) {
15331533
element = element.parentElement;
1534-
pathArr.unshift(element);
1534+
pathArr.push(element);
15351535
}
15361536
return pathArr;
15371537
} catch (err) {
@@ -3465,7 +3465,7 @@
34653465

34663466
sd.setInitVar = function() {
34673467
sd._t = sd._t || 1 * new Date();
3468-
sd.lib_version = '1.18.12';
3468+
sd.lib_version = '1.18.13';
34693469
sd.is_first_visitor = false;
34703470
sd.source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
34713471
};
@@ -4421,7 +4421,7 @@
44214421
source: 'sa-web-sdk',
44224422
type: 'v-is-vtrack',
44234423
data: {
4424-
sdkversion: '1.18.12'
4424+
sdkversion: '1.18.13'
44254425
}
44264426
},
44274427
'*'
@@ -6102,20 +6102,22 @@
61026102
}
61036103

61046104
var parent_ele = target.parentNode;
6105-
var hasA = that.hasElement(e.originalEvent || e);
6106-
var trackAttrs = sd.para.heatmap.track_attr;
6105+
var hasAOrAttr = that.hasElement(e.originalEvent || e, function(target) {
6106+
return target.tagName.toLowerCase() === 'a' || _.hasAttributes(target, sd.para.heatmap.track_attr);
6107+
});
6108+
61076109
var otherTags = that.otherTags;
61086110

6109-
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea' || _.hasAttributes(target, trackAttrs)) {
6111+
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea') {
61106112
return target;
61116113
} else if (_.indexOf(otherTags, tagName) > -1) {
61126114
return target;
6113-
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a' || _.hasAttributes(parent_ele, trackAttrs)) {
6115+
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a') {
61146116
return parent_ele;
61156117
} else if (tagName === 'area' && parent_ele.tagName.toLowerCase() === 'map' && _.ry(parent_ele).prev().tagName && _.ry(parent_ele).prev().tagName.toLowerCase() === 'img') {
61166118
return _.ry(parent_ele).prev();
6117-
} else if (hasA) {
6118-
return hasA;
6119+
} else if (hasAOrAttr) {
6120+
return hasAOrAttr;
61196121
} else if (tagName === 'div' && sd.para.heatmap.collect_tags.div && that.isDivLevelValid(target)) {
61206122
var max_level = (sd.para.heatmap && sd.para.heatmap.collect_tags && sd.para.heatmap.collect_tags.div && sd.para.heatmap.collect_tags.div.max_level) || 1;
61216123
if (max_level > 1 || that.isCollectableDiv(target)) {
@@ -6346,16 +6348,17 @@
63466348
sd.track('$WebClick', prop, userCallback);
63476349
}
63486350
},
6349-
hasElement: function(e) {
6350-
var path = e._getPath ? e._getPath() : heatmap.getElementPath(e.target, true).split(' > ');
6351-
if (_.isArray(path) && path.length > 0) {
6352-
for (var i = 0; i < path.length; i++) {
6353-
if (path[i] && path[i].tagName && path[i].tagName.toLowerCase() === 'a') {
6354-
return path[i];
6351+
hasElement: function(e, func) {
6352+
var path = e.path || (e._getPath && e._getPath());
6353+
if (path) {
6354+
if (_.isArray(path) && path.length > 0) {
6355+
for (var i = 0; i < path.length; i++) {
6356+
if (path[i] && path[i].tagName && func(path[i])) {
6357+
return path[i];
6358+
}
63556359
}
63566360
}
63576361
}
6358-
return false;
63596362
},
63606363
isStyleTag: function(tagname, isVisualMode) {
63616364
var defaultTag = ['a', 'div', 'input', 'button', 'textarea'];

product/sensorsdata.es6.full.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,7 +1525,7 @@ if (!String.prototype.replaceAll) {
15251525
}
15261526
while (element.parentElement !== null) {
15271527
element = element.parentElement;
1528-
pathArr.unshift(element);
1528+
pathArr.push(element);
15291529
}
15301530
return pathArr;
15311531
} catch (err) {
@@ -3459,7 +3459,7 @@ sd.setPreConfig = function(sa) {
34593459

34603460
sd.setInitVar = function() {
34613461
sd._t = sd._t || 1 * new Date();
3462-
sd.lib_version = '1.18.12';
3462+
sd.lib_version = '1.18.13';
34633463
sd.is_first_visitor = false;
34643464
sd.source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
34653465
};
@@ -4415,7 +4415,7 @@ sd.detectMode = function() {
44154415
source: 'sa-web-sdk',
44164416
type: 'v-is-vtrack',
44174417
data: {
4418-
sdkversion: '1.18.12'
4418+
sdkversion: '1.18.13'
44194419
}
44204420
},
44214421
'*'
@@ -6096,20 +6096,22 @@ var heatmap = (sd.heatmap = {
60966096
}
60976097

60986098
var parent_ele = target.parentNode;
6099-
var hasA = that.hasElement(e.originalEvent || e);
6100-
var trackAttrs = sd.para.heatmap.track_attr;
6099+
var hasAOrAttr = that.hasElement(e.originalEvent || e, function(target) {
6100+
return target.tagName.toLowerCase() === 'a' || _.hasAttributes(target, sd.para.heatmap.track_attr);
6101+
});
6102+
61016103
var otherTags = that.otherTags;
61026104

6103-
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea' || _.hasAttributes(target, trackAttrs)) {
6105+
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea') {
61046106
return target;
61056107
} else if (_.indexOf(otherTags, tagName) > -1) {
61066108
return target;
6107-
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a' || _.hasAttributes(parent_ele, trackAttrs)) {
6109+
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a') {
61086110
return parent_ele;
61096111
} else if (tagName === 'area' && parent_ele.tagName.toLowerCase() === 'map' && _.ry(parent_ele).prev().tagName && _.ry(parent_ele).prev().tagName.toLowerCase() === 'img') {
61106112
return _.ry(parent_ele).prev();
6111-
} else if (hasA) {
6112-
return hasA;
6113+
} else if (hasAOrAttr) {
6114+
return hasAOrAttr;
61136115
} else if (tagName === 'div' && sd.para.heatmap.collect_tags.div && that.isDivLevelValid(target)) {
61146116
var max_level = (sd.para.heatmap && sd.para.heatmap.collect_tags && sd.para.heatmap.collect_tags.div && sd.para.heatmap.collect_tags.div.max_level) || 1;
61156117
if (max_level > 1 || that.isCollectableDiv(target)) {
@@ -6340,16 +6342,17 @@ var heatmap = (sd.heatmap = {
63406342
sd.track('$WebClick', prop, userCallback);
63416343
}
63426344
},
6343-
hasElement: function(e) {
6344-
var path = e._getPath ? e._getPath() : heatmap.getElementPath(e.target, true).split(' > ');
6345-
if (_.isArray(path) && path.length > 0) {
6346-
for (var i = 0; i < path.length; i++) {
6347-
if (path[i] && path[i].tagName && path[i].tagName.toLowerCase() === 'a') {
6348-
return path[i];
6345+
hasElement: function(e, func) {
6346+
var path = e.path || (e._getPath && e._getPath());
6347+
if (path) {
6348+
if (_.isArray(path) && path.length > 0) {
6349+
for (var i = 0; i < path.length; i++) {
6350+
if (path[i] && path[i].tagName && func(path[i])) {
6351+
return path[i];
6352+
}
63496353
}
63506354
}
63516355
}
6352-
return false;
63536356
},
63546357
isStyleTag: function(tagname, isVisualMode) {
63556358
var defaultTag = ['a', 'div', 'input', 'button', 'textarea'];

product/sensorsdata.full.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1533,7 +1533,7 @@
15331533
}
15341534
while (element.parentElement !== null) {
15351535
element = element.parentElement;
1536-
pathArr.unshift(element);
1536+
pathArr.push(element);
15371537
}
15381538
return pathArr;
15391539
} catch (err) {
@@ -3467,7 +3467,7 @@
34673467

34683468
sd.setInitVar = function() {
34693469
sd._t = sd._t || 1 * new Date();
3470-
sd.lib_version = '1.18.12';
3470+
sd.lib_version = '1.18.13';
34713471
sd.is_first_visitor = false;
34723472
sd.source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
34733473
};
@@ -4423,7 +4423,7 @@
44234423
source: 'sa-web-sdk',
44244424
type: 'v-is-vtrack',
44254425
data: {
4426-
sdkversion: '1.18.12'
4426+
sdkversion: '1.18.13'
44274427
}
44284428
},
44294429
'*'
@@ -6104,20 +6104,22 @@
61046104
}
61056105

61066106
var parent_ele = target.parentNode;
6107-
var hasA = that.hasElement(e.originalEvent || e);
6108-
var trackAttrs = sd.para.heatmap.track_attr;
6107+
var hasAOrAttr = that.hasElement(e.originalEvent || e, function(target) {
6108+
return target.tagName.toLowerCase() === 'a' || _.hasAttributes(target, sd.para.heatmap.track_attr);
6109+
});
6110+
61096111
var otherTags = that.otherTags;
61106112

6111-
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea' || _.hasAttributes(target, trackAttrs)) {
6113+
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea') {
61126114
return target;
61136115
} else if (_.indexOf(otherTags, tagName) > -1) {
61146116
return target;
6115-
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a' || _.hasAttributes(parent_ele, trackAttrs)) {
6117+
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a') {
61166118
return parent_ele;
61176119
} else if (tagName === 'area' && parent_ele.tagName.toLowerCase() === 'map' && _.ry(parent_ele).prev().tagName && _.ry(parent_ele).prev().tagName.toLowerCase() === 'img') {
61186120
return _.ry(parent_ele).prev();
6119-
} else if (hasA) {
6120-
return hasA;
6121+
} else if (hasAOrAttr) {
6122+
return hasAOrAttr;
61216123
} else if (tagName === 'div' && sd.para.heatmap.collect_tags.div && that.isDivLevelValid(target)) {
61226124
var max_level = (sd.para.heatmap && sd.para.heatmap.collect_tags && sd.para.heatmap.collect_tags.div && sd.para.heatmap.collect_tags.div.max_level) || 1;
61236125
if (max_level > 1 || that.isCollectableDiv(target)) {
@@ -6348,16 +6350,17 @@
63486350
sd.track('$WebClick', prop, userCallback);
63496351
}
63506352
},
6351-
hasElement: function(e) {
6352-
var path = e._getPath ? e._getPath() : heatmap.getElementPath(e.target, true).split(' > ');
6353-
if (_.isArray(path) && path.length > 0) {
6354-
for (var i = 0; i < path.length; i++) {
6355-
if (path[i] && path[i].tagName && path[i].tagName.toLowerCase() === 'a') {
6356-
return path[i];
6353+
hasElement: function(e, func) {
6354+
var path = e.path || (e._getPath && e._getPath());
6355+
if (path) {
6356+
if (_.isArray(path) && path.length > 0) {
6357+
for (var i = 0; i < path.length; i++) {
6358+
if (path[i] && path[i].tagName && func(path[i])) {
6359+
return path[i];
6360+
}
63576361
}
63586362
}
63596363
}
6360-
return false;
63616364
},
63626365
isStyleTag: function(tagname, isVisualMode) {
63636366
var defaultTag = ['a', 'div', 'input', 'button', 'textarea'];

0 commit comments

Comments
 (0)