Skip to content

Commit b55e77c

Browse files
committed
release 1.14.23
1 parent c3c6d40 commit b55e77c

11 files changed

+77
-30
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 1.14.23 (2020-3-9)
2+
3+
* 新增:自动采集含有特殊属性:data-sensors-click 的元素点击事件
4+
* 修复:热力图高亮元素下为子元素增了 saContainer 样式导致样式错位
5+
* 修复:iOS 操作系统 10.2 以下打通兼容问题
6+
17
## 1.14.22 (2020-2-24)
28

39
* 优化:发送采集的数据时,会将与系统保留字段同名的属性过滤

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

product/heatmap.full.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8946,7 +8946,6 @@
89468946
.addClass('sa-click-area')
89478947
.attr('data-click', data.data_click_percent)
89488948
.addClass('sa-click-area' + this.heatData(data.data_click))
8949-
this.setContainer(wrap.ele);
89508949
if (wrap.getStyle('display') === 'inline') {
89518950
selector[0].style.display = 'inline-block';
89528951
$(selector[0]).addClass('sa-heatmap-inlineBlock');
@@ -9312,7 +9311,7 @@
93129311

93139312
window.sa_jssdk_heatmap_render = function(se, data, type, url) {
93149313
sd = se;
9315-
sd.heatmap_version = '1.14.22';
9314+
sd.heatmap_version = '1.14.23';
93169315
_ = sd._;
93179316

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

product/sensorsdata.amd.full.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -311,9 +311,13 @@
311311
}
312312
};
313313

314-
315-
316-
314+
_.hasAttribute = function(ele, attr) {
315+
if (ele.hasAttribute) {
316+
return ele.hasAttribute(attr);
317+
} else {
318+
return !!(ele.attributes[attr] && ele.attributes[attr].specified);
319+
}
320+
};
317321

318322
_.filter = function(arr, fn, self) {
319323
var hasOwn = Object.prototype.hasOwnProperty;
@@ -1438,6 +1442,16 @@
14381442
};
14391443
if (typeof window.URL === 'function' && isURLAPIWorking()) {
14401444
result = new URL(url);
1445+
if (!result.searchParams) {
1446+
result.searchParams = (function() {
1447+
var params = _.getURLSearchParams(result.search);
1448+
return {
1449+
get: function(searchParam) {
1450+
return params[searchParam];
1451+
}
1452+
};
1453+
})();
1454+
}
14411455
} else {
14421456
var _regex = /^https?:\/\/.+/;
14431457
if (_regex.test(url) === false) {
@@ -2151,7 +2165,7 @@
21512165

21522166
sd.setInitVar = function() {
21532167
sd._t = sd._t || 1 * new Date();
2154-
sd.lib_version = '1.14.22';
2168+
sd.lib_version = '1.14.23';
21552169
sd.is_first_visitor = false;
21562170
sd.source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
21572171
};
@@ -2296,7 +2310,7 @@
22962310
if ((typeof target === 'object') && target.tagName) {
22972311
var tagName = target.tagName.toLowerCase();
22982312
var parent_ele = target.parentNode.tagName.toLowerCase();
2299-
if (tagName !== 'button' && tagName !== 'a' && parent_ele !== 'a' && parent_ele !== 'button' && tagName !== 'input' && tagName !== 'textarea') {
2313+
if (tagName !== 'button' && tagName !== 'a' && parent_ele !== 'a' && parent_ele !== 'button' && tagName !== 'input' && tagName !== 'textarea' && !_.hasAttribute(target, 'data-sensors-click')) {
23002314
heatmap.start(null, target, tagName, props, callback);
23012315
}
23022316
}
@@ -4024,7 +4038,7 @@
40244038

40254039
var parent_ele = target.parentNode;
40264040

4027-
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea') {
4041+
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea' || _.hasAttribute(target, 'data-sensors-click')) {
40284042
that.start(ev, target, tagName);
40294043
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a') {
40304044
that.start(ev, parent_ele, target.parentNode.tagName.toLowerCase());

product/sensorsdata.es6.full.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -299,9 +299,13 @@ if (typeof JSON !== 'object') {
299299
}
300300
};
301301

302-
303-
304-
302+
_.hasAttribute = function(ele, attr) {
303+
if (ele.hasAttribute) {
304+
return ele.hasAttribute(attr);
305+
} else {
306+
return !!(ele.attributes[attr] && ele.attributes[attr].specified);
307+
}
308+
};
305309

306310
_.filter = function(arr, fn, self) {
307311
var hasOwn = Object.prototype.hasOwnProperty;
@@ -1426,6 +1430,16 @@ if (typeof JSON !== 'object') {
14261430
};
14271431
if (typeof window.URL === 'function' && isURLAPIWorking()) {
14281432
result = new URL(url);
1433+
if (!result.searchParams) {
1434+
result.searchParams = (function() {
1435+
var params = _.getURLSearchParams(result.search);
1436+
return {
1437+
get: function(searchParam) {
1438+
return params[searchParam];
1439+
}
1440+
};
1441+
})();
1442+
}
14291443
} else {
14301444
var _regex = /^https?:\/\/.+/;
14311445
if (_regex.test(url) === false) {
@@ -2139,7 +2153,7 @@ sd.setPreConfig = function(sa) {
21392153

21402154
sd.setInitVar = function() {
21412155
sd._t = sd._t || 1 * new Date();
2142-
sd.lib_version = '1.14.22';
2156+
sd.lib_version = '1.14.23';
21432157
sd.is_first_visitor = false;
21442158
sd.source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
21452159
};
@@ -2284,7 +2298,7 @@ var commonWays = {
22842298
if ((typeof target === 'object') && target.tagName) {
22852299
var tagName = target.tagName.toLowerCase();
22862300
var parent_ele = target.parentNode.tagName.toLowerCase();
2287-
if (tagName !== 'button' && tagName !== 'a' && parent_ele !== 'a' && parent_ele !== 'button' && tagName !== 'input' && tagName !== 'textarea') {
2301+
if (tagName !== 'button' && tagName !== 'a' && parent_ele !== 'a' && parent_ele !== 'button' && tagName !== 'input' && tagName !== 'textarea' && !_.hasAttribute(target, 'data-sensors-click')) {
22882302
heatmap.start(null, target, tagName, props, callback);
22892303
}
22902304
}
@@ -4012,7 +4026,7 @@ var heatmap = sd.heatmap = {
40124026

40134027
var parent_ele = target.parentNode;
40144028

4015-
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea') {
4029+
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea' || _.hasAttribute(target, 'data-sensors-click')) {
40164030
that.start(ev, target, tagName);
40174031
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a') {
40184032
that.start(ev, parent_ele, target.parentNode.tagName.toLowerCase());

product/sensorsdata.full.js

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -312,9 +312,13 @@
312312
}
313313
};
314314

315-
316-
317-
315+
_.hasAttribute = function(ele, attr) {
316+
if (ele.hasAttribute) {
317+
return ele.hasAttribute(attr);
318+
} else {
319+
return !!(ele.attributes[attr] && ele.attributes[attr].specified);
320+
}
321+
};
318322

319323
_.filter = function(arr, fn, self) {
320324
var hasOwn = Object.prototype.hasOwnProperty;
@@ -1439,6 +1443,16 @@
14391443
};
14401444
if (typeof window.URL === 'function' && isURLAPIWorking()) {
14411445
result = new URL(url);
1446+
if (!result.searchParams) {
1447+
result.searchParams = (function() {
1448+
var params = _.getURLSearchParams(result.search);
1449+
return {
1450+
get: function(searchParam) {
1451+
return params[searchParam];
1452+
}
1453+
};
1454+
})();
1455+
}
14421456
} else {
14431457
var _regex = /^https?:\/\/.+/;
14441458
if (_regex.test(url) === false) {
@@ -2152,7 +2166,7 @@
21522166

21532167
sd.setInitVar = function() {
21542168
sd._t = sd._t || 1 * new Date();
2155-
sd.lib_version = '1.14.22';
2169+
sd.lib_version = '1.14.23';
21562170
sd.is_first_visitor = false;
21572171
sd.source_channel_standard = 'utm_source utm_medium utm_campaign utm_content utm_term';
21582172
};
@@ -2297,7 +2311,7 @@
22972311
if ((typeof target === 'object') && target.tagName) {
22982312
var tagName = target.tagName.toLowerCase();
22992313
var parent_ele = target.parentNode.tagName.toLowerCase();
2300-
if (tagName !== 'button' && tagName !== 'a' && parent_ele !== 'a' && parent_ele !== 'button' && tagName !== 'input' && tagName !== 'textarea') {
2314+
if (tagName !== 'button' && tagName !== 'a' && parent_ele !== 'a' && parent_ele !== 'button' && tagName !== 'input' && tagName !== 'textarea' && !_.hasAttribute(target, 'data-sensors-click')) {
23012315
heatmap.start(null, target, tagName, props, callback);
23022316
}
23032317
}
@@ -4025,7 +4039,7 @@
40254039

40264040
var parent_ele = target.parentNode;
40274041

4028-
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea') {
4042+
if (tagName === 'a' || tagName === 'button' || tagName === 'input' || tagName === 'textarea' || _.hasAttribute(target, 'data-sensors-click')) {
40294043
that.start(ev, target, tagName);
40304044
} else if (parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a') {
40314045
that.start(ev, parent_ele, target.parentNode.tagName.toLowerCase());

sensorsdata.amd.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.

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.

sensorsdata.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)