Skip to content

Commit 086c0bb

Browse files
author
shengyonggen
committed
点击分析支持map以及细节优化
1 parent afc06d0 commit 086c0bb

File tree

7 files changed

+91
-28
lines changed

7 files changed

+91
-28
lines changed

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

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: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1347,7 +1347,24 @@ _.ry.init.prototype = {
13471347
return result;
13481348
}
13491349
}
1350-
}
1350+
},
1351+
sibling:function(cur, dir ){
1352+
while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
1353+
return cur;
1354+
},
1355+
next: function() {
1356+
return this.sibling( this.ele, "nextSibling" );
1357+
},
1358+
prev: function( elem ) {
1359+
return this.sibling( this.ele, "previousSibling" );
1360+
},
1361+
siblings: function( elem ) {
1362+
return this.siblings( ( this.ele.parentNode || {} ).firstChild, this.ele);
1363+
},
1364+
children: function( elem ) {
1365+
return this.siblings( this.ele.firstChild );
1366+
}
1367+
13511368
};
13521369

13531370
_.jssdkDebug = function(recevie_prop,has_prop){
@@ -3288,10 +3305,12 @@ var heatmap = {
32883305
selector:function (el){
32893306
//var classname = _.trim(el.className.baseVal ? el.className.baseVal : el.className);
32903307
var i = el.parentNode && 9 == el.parentNode.nodeType ? -1 : this.getDomIndex(el);
3291-
return el.tagName.toLowerCase()
3292-
+ (el.id ? '#' + el.id : '')
3293-
//+ (classname ? classname.replace(/^| +/g, '.') : '')
3294-
+ (~i ? ':nth-child(' + (i + 1) + ')' : '');
3308+
if(el.id){
3309+
return '#' + el.id;
3310+
}else{
3311+
return el.tagName.toLowerCase() //+ (classname ? classname.replace(/^| +/g, '.') : '')
3312+
+ (~i ? ':nth-child(' + (i + 1) + ')' : '');
3313+
}
32953314
},
32963315
getDomSelector : function(el,arr) {
32973316
if(!el || !el.parentNode || !el.parentNode.children){
@@ -3482,6 +3501,8 @@ var heatmap = {
34823501
that.start(ev, target, tagName);
34833502
}else if(parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a'){
34843503
that.start(ev, parent_ele, target.parentNode.tagName.toLowerCase());
3504+
}else if(tagName === 'area' && parent_ele.tagName.toLowerCase() === 'map' && _.ry(parent_ele).prev().tagName && _.ry(parent_ele).prev().tagName.toLowerCase() === 'img'){
3505+
that.start(ev, _.ry(parent_ele).prev(), _.ry(parent_ele).prev().tagName.toLowerCase());
34853506
}else{
34863507
var hasA = that.hasElement(e);
34873508
if(hasA){

src/sensorsdata.full.amd.js

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ var ObjProto = Object.prototype;
125125
var slice = ArrayProto.slice;
126126
var toString = ObjProto.toString;
127127
var hasOwnProperty = ObjProto.hasOwnProperty;
128-
var LIB_VERSION = '1.8.11';
128+
var LIB_VERSION = '1.8.12';
129129

130130
sd.lib_version = LIB_VERSION;
131131

@@ -1468,7 +1468,24 @@ _.ry.init.prototype = {
14681468
return result;
14691469
}
14701470
}
1471-
}
1471+
},
1472+
sibling:function(cur, dir ){
1473+
while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
1474+
return cur;
1475+
},
1476+
next: function() {
1477+
return this.sibling( this.ele, "nextSibling" );
1478+
},
1479+
prev: function( elem ) {
1480+
return this.sibling( this.ele, "previousSibling" );
1481+
},
1482+
siblings: function( elem ) {
1483+
return this.siblings( ( this.ele.parentNode || {} ).firstChild, this.ele);
1484+
},
1485+
children: function( elem ) {
1486+
return this.siblings( this.ele.firstChild );
1487+
}
1488+
14721489
};
14731490

14741491
_.jssdkDebug = function(recevie_prop,has_prop){
@@ -3403,10 +3420,12 @@ var heatmap = {
34033420
selector:function (el){
34043421
//var classname = _.trim(el.className.baseVal ? el.className.baseVal : el.className);
34053422
var i = el.parentNode && 9 == el.parentNode.nodeType ? -1 : this.getDomIndex(el);
3406-
return el.tagName.toLowerCase()
3407-
+ (el.id ? '#' + el.id : '')
3408-
//+ (classname ? classname.replace(/^| +/g, '.') : '')
3409-
+ (~i ? ':nth-child(' + (i + 1) + ')' : '');
3423+
if(el.id){
3424+
return '#' + el.id;
3425+
}else{
3426+
return el.tagName.toLowerCase() //+ (classname ? classname.replace(/^| +/g, '.') : '')
3427+
+ (~i ? ':nth-child(' + (i + 1) + ')' : '');
3428+
}
34103429
},
34113430
getDomSelector : function(el,arr) {
34123431
if(!el || !el.parentNode || !el.parentNode.children){
@@ -3597,6 +3616,8 @@ var heatmap = {
35973616
that.start(ev, target, tagName);
35983617
}else if(parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a'){
35993618
that.start(ev, parent_ele, target.parentNode.tagName.toLowerCase());
3619+
}else if(tagName === 'area' && parent_ele.tagName.toLowerCase() === 'map' && _.ry(parent_ele).prev().tagName && _.ry(parent_ele).prev().tagName.toLowerCase() === 'img'){
3620+
that.start(ev, _.ry(parent_ele).prev(), _.ry(parent_ele).prev().tagName.toLowerCase());
36003621
}else{
36013622
var hasA = that.hasElement(e);
36023623
if(hasA){

src/sensorsdata.full.js

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ var ObjProto = Object.prototype;
122122
var slice = ArrayProto.slice;
123123
var toString = ObjProto.toString;
124124
var hasOwnProperty = ObjProto.hasOwnProperty;
125-
var LIB_VERSION = '1.8.11';
125+
var LIB_VERSION = '1.8.12';
126126

127127
sd.lib_version = LIB_VERSION;
128128

@@ -1465,7 +1465,24 @@ _.ry.init.prototype = {
14651465
return result;
14661466
}
14671467
}
1468-
}
1468+
},
1469+
sibling:function(cur, dir ){
1470+
while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
1471+
return cur;
1472+
},
1473+
next: function() {
1474+
return this.sibling( this.ele, "nextSibling" );
1475+
},
1476+
prev: function( elem ) {
1477+
return this.sibling( this.ele, "previousSibling" );
1478+
},
1479+
siblings: function( elem ) {
1480+
return this.siblings( ( this.ele.parentNode || {} ).firstChild, this.ele);
1481+
},
1482+
children: function( elem ) {
1483+
return this.siblings( this.ele.firstChild );
1484+
}
1485+
14691486
};
14701487

14711488
_.jssdkDebug = function(recevie_prop,has_prop){
@@ -3400,10 +3417,12 @@ var heatmap = {
34003417
selector:function (el){
34013418
//var classname = _.trim(el.className.baseVal ? el.className.baseVal : el.className);
34023419
var i = el.parentNode && 9 == el.parentNode.nodeType ? -1 : this.getDomIndex(el);
3403-
return el.tagName.toLowerCase()
3404-
+ (el.id ? '#' + el.id : '')
3405-
//+ (classname ? classname.replace(/^| +/g, '.') : '')
3406-
+ (~i ? ':nth-child(' + (i + 1) + ')' : '');
3420+
if(el.id){
3421+
return '#' + el.id;
3422+
}else{
3423+
return el.tagName.toLowerCase() //+ (classname ? classname.replace(/^| +/g, '.') : '')
3424+
+ (~i ? ':nth-child(' + (i + 1) + ')' : '');
3425+
}
34073426
},
34083427
getDomSelector : function(el,arr) {
34093428
if(!el || !el.parentNode || !el.parentNode.children){
@@ -3594,6 +3613,8 @@ var heatmap = {
35943613
that.start(ev, target, tagName);
35953614
}else if(parent_ele.tagName.toLowerCase() === 'button' || parent_ele.tagName.toLowerCase() === 'a'){
35963615
that.start(ev, parent_ele, target.parentNode.tagName.toLowerCase());
3616+
}else if(tagName === 'area' && parent_ele.tagName.toLowerCase() === 'map' && _.ry(parent_ele).prev().tagName && _.ry(parent_ele).prev().tagName.toLowerCase() === 'img'){
3617+
that.start(ev, _.ry(parent_ele).prev(), _.ry(parent_ele).prev().tagName.toLowerCase());
35973618
}else{
35983619
var hasA = that.hasElement(e);
35993620
if(hasA){

version.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
var sensorsdata_js_sdk_latest_version = '1.8.11';
1+
var sensorsdata_js_sdk_latest_version = '1.8.12';

vtrack.min.js

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

0 commit comments

Comments
 (0)