Skip to content

Commit 335fe32

Browse files
author
shengyonggen
committed
修改heatmap的tracklink,优化点击图展示tooltip
1 parent d87066c commit 335fe32

File tree

4 files changed

+42
-28
lines changed

4 files changed

+42
-28
lines changed

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: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,7 @@ var saNewUser = {
13641364
},
13651365
is_first_visit_time: false,
13661366
checkIsFirstTime: function(data) {
1367-
if (data.type === 'track') {
1367+
if (data.type === 'track' && data.event === '$pageview') {
13681368
if (this.is_first_visit_time) {
13691369
data.properties.$is_first_time = true;
13701370
this.is_first_visit_time = false;
@@ -1396,7 +1396,7 @@ var saNewUser = {
13961396
}
13971397
// 如果不是第一次打开的用户,肯定不是首次访问
13981398
this.checkIsFirstTime = function(data) {
1399-
if (data.type === 'track') {
1399+
if (data.type === 'track' && data.event === '$pageview') {
14001400
data.properties.$is_first_time = false;
14011401
}
14021402
}
@@ -1824,13 +1824,14 @@ saEvent.send = function(p, callback) {
18241824
return false;
18251825
}
18261826

1827+
if(sd.para.heatmap){
1828+
return false;
1829+
}
1830+
18271831
sd.para.heatmap = {};
18281832
heatmap.init();
18291833
return false;
18301834

1831-
if(sd.para.heatmap){
1832-
return false;
1833-
}
18341835

18351836
if(sd.allTrack === 'has_init'){
18361837
return false;
@@ -2573,7 +2574,7 @@ var heatmap_render = {
25732574
var mouseoverEvent = null;
25742575

25752576
var me = this;
2576-
var str = '<div style="padding: 8px;"><div style="color: #757575">当前元素内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_current_content}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div>点击次数: {{value_fix}}</div><div>点击率: {{data_click_percent}}</div><div>点击占比: {{data_page_percent}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div style="color: #757575">历史内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_top_value}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 6px 8px;"><a style="color:#2a90e2;text-decoration: none;" href="{{data_user_link}}" target="_blank">查看点击用户列表</a ></div>';
2577+
var str = '<div style="padding: 8px;"><div style="color: #757575">当前元素内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_current_content}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div>点击次数: {{value_fix}}</div><div title="点击次数/当前页面的浏览次数">点击率: {{data_click_percent}}</div><div title="点击次数/当前页面的点击总次数">点击占比: {{data_page_percent}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div style="color: #757575">历史内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_top_value}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 6px 8px;"><a style="color:#2a90e2;text-decoration: none;" href="{{data_user_link}}" target="_blank">查看点击用户列表</a ></div>';
25772578

25782579
var newStr = '';
25792580
var isShow = true;
@@ -2864,12 +2865,18 @@ var heatmap = {
28642865
y : isNaN(a) ? 0 : a
28652866
}
28662867
},
2867-
start : function(ev, target) {
2868+
start : function(ev, target, tagName) {
28682869
var selector = this.getDomSelector(target);
28692870
var prop = _.getEleInfo({target:target});
28702871

28712872
prop.$element_selector = selector ? selector : '';
2872-
sd.track('$WebClick',prop);
2873+
2874+
if(tagName === 'a' && sd.para.heatmap && sd.para.heatmap.isTrackLink === true){
2875+
_.trackLink({event:ev},'$WebClick',prop);
2876+
}else{
2877+
sd.track('$WebClick',prop);
2878+
}
2879+
28732880
},
28742881
sendIframeData: function(){
28752882
var me = this;
@@ -2878,7 +2885,7 @@ var heatmap = {
28782885
window.parent.window.postMessage({
28792886
method: 'setHeight',
28802887
params: {
2881-
height: me.getScrollHeight() > 1200 ? 1200 : me.getScrollHeight()
2888+
height: me.getScrollHeight()
28822889
}
28832890
},sd.para.web_url);
28842891

@@ -2951,7 +2958,7 @@ var heatmap = {
29512958
if(!target || !target.parentNode || !target.parentNode.children){
29522959
return false;
29532960
}
2954-
that.start(ev, target);
2961+
that.start(ev, target, tagName);
29552962
});
29562963

29572964
} else {
@@ -2966,7 +2973,7 @@ var heatmap = {
29662973
return false;
29672974
}
29682975
if (tagName === 'button' || tagName === 'a' || tagName === 'input' || tagName === 'textarea') {
2969-
that.start(ev, target);
2976+
that.start(ev, target, tagName);
29702977
}
29712978
});
29722979
}

src/sensorsdata.full.js

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ if(typeof JSON!=='object'){JSON={}}(function(){'use strict';var rx_one=/^[\],:{}
8080
, slice = ArrayProto.slice
8181
, toString = ObjProto.toString
8282
, hasOwnProperty = ObjProto.hasOwnProperty
83-
, LIB_VERSION = '1.7';
83+
, LIB_VERSION = '1.7.1';
8484

8585
sd.lib_version = LIB_VERSION;
8686

@@ -1440,7 +1440,7 @@ var saNewUser = {
14401440
},
14411441
is_first_visit_time: false,
14421442
checkIsFirstTime: function(data) {
1443-
if (data.type === 'track') {
1443+
if (data.type === 'track' && data.event === '$pageview') {
14441444
if (this.is_first_visit_time) {
14451445
data.properties.$is_first_time = true;
14461446
this.is_first_visit_time = false;
@@ -1472,7 +1472,7 @@ var saNewUser = {
14721472
}
14731473
// 如果不是第一次打开的用户,肯定不是首次访问
14741474
this.checkIsFirstTime = function(data) {
1475-
if (data.type === 'track') {
1475+
if (data.type === 'track' && data.event === '$pageview') {
14761476
data.properties.$is_first_time = false;
14771477
}
14781478
}
@@ -1894,13 +1894,14 @@ saEvent.send = function(p, callback) {
18941894
return false;
18951895
}
18961896

1897+
if(sd.para.heatmap){
1898+
return false;
1899+
}
1900+
18971901
sd.para.heatmap = {};
18981902
heatmap.init();
18991903
return false;
19001904

1901-
if(sd.para.heatmap){
1902-
return false;
1903-
}
19041905

19051906
if(sd.allTrack === 'has_init'){
19061907
return false;
@@ -2643,7 +2644,7 @@ var heatmap_render = {
26432644
var mouseoverEvent = null;
26442645

26452646
var me = this;
2646-
var str = '<div style="padding: 8px;"><div style="color: #757575">当前元素内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_current_content}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div>点击次数: {{value_fix}}</div><div>点击率: {{data_click_percent}}</div><div>点击占比: {{data_page_percent}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div style="color: #757575">历史内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_top_value}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 6px 8px;"><a style="color:#2a90e2;text-decoration: none;" href="{{data_user_link}}" target="_blank">查看点击用户列表</a ></div>';
2647+
var str = '<div style="padding: 8px;"><div style="color: #757575">当前元素内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_current_content}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div>点击次数: {{value_fix}}</div><div title="点击次数/当前页面的浏览次数">点击率: {{data_click_percent}}</div><div title="点击次数/当前页面的点击总次数">点击占比: {{data_page_percent}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 8px;"><div style="color: #757575">历史内容:</div><div style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;">{{data_top_value}}</div></div><div style="background: rgba(0,0,0,0.1); height:1px;"></div><div style="padding: 6px 8px;"><a style="color:#2a90e2;text-decoration: none;" href="{{data_user_link}}" target="_blank">查看点击用户列表</a ></div>';
26472648

26482649
var newStr = '';
26492650
var isShow = true;
@@ -2934,12 +2935,18 @@ var heatmap = {
29342935
y : isNaN(a) ? 0 : a
29352936
}
29362937
},
2937-
start : function(ev, target) {
2938+
start : function(ev, target, tagName) {
29382939
var selector = this.getDomSelector(target);
29392940
var prop = _.getEleInfo({target:target});
29402941

29412942
prop.$element_selector = selector ? selector : '';
2942-
sd.track('$WebClick',prop);
2943+
2944+
if(tagName === 'a' && sd.para.heatmap && sd.para.heatmap.isTrackLink === true){
2945+
_.trackLink({event:ev},'$WebClick',prop);
2946+
}else{
2947+
sd.track('$WebClick',prop);
2948+
}
2949+
29432950
},
29442951
sendIframeData: function(){
29452952
var me = this;
@@ -2948,7 +2955,7 @@ var heatmap = {
29482955
window.parent.window.postMessage({
29492956
method: 'setHeight',
29502957
params: {
2951-
height: me.getScrollHeight() > 1200 ? 1200 : me.getScrollHeight()
2958+
height: me.getScrollHeight()
29522959
}
29532960
},sd.para.web_url);
29542961

@@ -3021,7 +3028,7 @@ var heatmap = {
30213028
if(!target || !target.parentNode || !target.parentNode.children){
30223029
return false;
30233030
}
3024-
that.start(ev, target);
3031+
that.start(ev, target, tagName);
30253032
});
30263033

30273034
} else {
@@ -3036,7 +3043,7 @@ var heatmap = {
30363043
return false;
30373044
}
30383045
if (tagName === 'button' || tagName === 'a' || tagName === 'input' || tagName === 'textarea') {
3039-
that.start(ev, target);
3046+
that.start(ev, target, tagName);
30403047
}
30413048
});
30423049
}

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)