Skip to content

Commit 05cc350

Browse files
author
shengyonggen
committed
自定义搜索关键词和百度关键词优化
1 parent aef99b8 commit 05cc350

File tree

6 files changed

+52
-16
lines changed

6 files changed

+52
-16
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: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1591,15 +1591,25 @@ _.getReferrer = function(referrer){
15911591
};
15921592

15931593
_.getKeywordFromReferrer = function(){
1594-
var search_keyword = {baidu:'wd',google:'q',bing:'q',yahoo:'p',sogou:'query',so:'q',sm:'q'};
1594+
var search_keyword = sd.para.source_type.keyword;
15951595
if(document && typeof document.referrer === 'string'){
15961596
if(document.referrer.indexOf('http') === 0) {
15971597
var domain = _.url('domain',document.referrer);
15981598
var query = _.url('?',document.referrer);
1599+
var temp = null;
15991600
for(var i in search_keyword){
1600-
if(domain.indexOf(i) === 0){
1601-
if(typeof query === 'object' && query[search_keyword[i]]){
1602-
return query[search_keyword[i]];
1601+
if(domain.indexOf(i) === 0){
1602+
if(typeof query === 'object'){
1603+
temp = search_keyword[i];
1604+
if(_.isArray(temp)){
1605+
for(var i = 0; i < temp.length; i++){
1606+
if(query[temp[i]]){
1607+
return query[temp[i]];
1608+
}
1609+
}
1610+
}else if(query[temp]){
1611+
return query[temp];
1612+
}
16031613
}
16041614
}
16051615
}

src/sensorsdata.full.amd.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -104,10 +104,12 @@ sd.initPara = function(para){
104104

105105
var search_type = ['www.baidu.','m.baidu.','m.sm.cn','so.com','sogou.com','youdao.com','google.','yahoo.com/','bing.com/','ask.com/'];
106106
var social_type = ['weibo.com','renren.com','kaixin001.com','douban.com','qzone.qq.com','zhihu.com','tieba.baidu.com','weixin.qq.com'];
107+
var search_keyword = {baidu:['wd','word','kw','keyword'],google:'q',bing:'q',yahoo:'p',sogou:'query',so:'q',sm:'q'};
107108

108109
if(typeof sd.para.source_type === 'object'){
109110
sd.para.source_type.search = _.isArray(sd.para.source_type.search) ? sd.para.source_type.search.concat(search_type) : search_type;
110111
sd.para.source_type.social = _.isArray(sd.para.source_type.social) ? sd.para.source_type.social.concat(social_type) : social_type;
112+
sd.para.source_type.keyword = _.isObject(sd.para.source_type.keyword) ? _.extend(search_keyword,sd.para.source_type.keyword) : search_keyword;
111113
}
112114

113115
if(_.isObject(sd.para.heatmap)) {
@@ -1730,15 +1732,25 @@ _.getReferrer = function(referrer){
17301732
};
17311733

17321734
_.getKeywordFromReferrer = function(){
1733-
var search_keyword = {baidu:'wd',google:'q',bing:'q',yahoo:'p',sogou:'query',so:'q',sm:'q'};
1735+
var search_keyword = sd.para.source_type.keyword;
17341736
if(document && typeof document.referrer === 'string'){
17351737
if(document.referrer.indexOf('http') === 0) {
17361738
var domain = _.url('domain',document.referrer);
17371739
var query = _.url('?',document.referrer);
1740+
var temp = null;
17381741
for(var i in search_keyword){
1739-
if(domain.indexOf(i) === 0){
1740-
if(typeof query === 'object' && query[search_keyword[i]]){
1741-
return query[search_keyword[i]];
1742+
if(domain.indexOf(i) === 0){
1743+
if(typeof query === 'object'){
1744+
temp = search_keyword[i];
1745+
if(_.isArray(temp)){
1746+
for(var i = 0; i < temp.length; i++){
1747+
if(query[temp[i]]){
1748+
return query[temp[i]];
1749+
}
1750+
}
1751+
}else if(query[temp]){
1752+
return query[temp];
1753+
}
17421754
}
17431755
}
17441756
}

src/sensorsdata.full.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,12 @@ sd.initPara = function(para){
101101

102102
var search_type = ['www.baidu.','m.baidu.','m.sm.cn','so.com','sogou.com','youdao.com','google.','yahoo.com/','bing.com/','ask.com/'];
103103
var social_type = ['weibo.com','renren.com','kaixin001.com','douban.com','qzone.qq.com','zhihu.com','tieba.baidu.com','weixin.qq.com'];
104+
var search_keyword = {baidu:['wd','word','kw','keyword'],google:'q',bing:'q',yahoo:'p',sogou:'query',so:'q',sm:'q'};
104105

105106
if(typeof sd.para.source_type === 'object'){
106107
sd.para.source_type.search = _.isArray(sd.para.source_type.search) ? sd.para.source_type.search.concat(search_type) : search_type;
107108
sd.para.source_type.social = _.isArray(sd.para.source_type.social) ? sd.para.source_type.social.concat(social_type) : social_type;
109+
sd.para.source_type.keyword = _.isObject(sd.para.source_type.keyword) ? _.extend(search_keyword,sd.para.source_type.keyword) : search_keyword;
108110
}
109111

110112
if(_.isObject(sd.para.heatmap)) {
@@ -1727,15 +1729,25 @@ _.getReferrer = function(referrer){
17271729
};
17281730

17291731
_.getKeywordFromReferrer = function(){
1730-
var search_keyword = {baidu:'wd',google:'q',bing:'q',yahoo:'p',sogou:'query',so:'q',sm:'q'};
1732+
var search_keyword = sd.para.source_type.keyword;
17311733
if(document && typeof document.referrer === 'string'){
17321734
if(document.referrer.indexOf('http') === 0) {
17331735
var domain = _.url('domain',document.referrer);
17341736
var query = _.url('?',document.referrer);
1737+
var temp = null;
17351738
for(var i in search_keyword){
1736-
if(domain.indexOf(i) === 0){
1737-
if(typeof query === 'object' && query[search_keyword[i]]){
1738-
return query[search_keyword[i]];
1739+
if(domain.indexOf(i) === 0){
1740+
if(typeof query === 'object'){
1741+
temp = search_keyword[i];
1742+
if(_.isArray(temp)){
1743+
for(var i = 0; i < temp.length; i++){
1744+
if(query[temp[i]]){
1745+
return query[temp[i]];
1746+
}
1747+
}
1748+
}else if(query[temp]){
1749+
return query[temp];
1750+
}
17391751
}
17401752
}
17411753
}

src/sensorsdata.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,12 @@ sd.initPara = function(para){
109109

110110
var search_type = ['www.baidu.','m.baidu.','m.sm.cn','so.com','sogou.com','youdao.com','google.','yahoo.com/','bing.com/','ask.com/'];
111111
var social_type = ['weibo.com','renren.com','kaixin001.com','douban.com','qzone.qq.com','zhihu.com','tieba.baidu.com','weixin.qq.com'];
112+
var search_keyword = {baidu:['wd','word','kw','keyword'],google:'q',bing:'q',yahoo:'p',sogou:'query',so:'q',sm:'q'};
112113

113114
if(typeof sd.para.source_type === 'object'){
114115
sd.para.source_type.search = _.isArray(sd.para.source_type.search) ? sd.para.source_type.search.concat(search_type) : search_type;
115116
sd.para.source_type.social = _.isArray(sd.para.source_type.social) ? sd.para.source_type.social.concat(social_type) : social_type;
117+
sd.para.source_type.keyword = _.isObject(sd.para.source_type.keyword) ? _.extend(search_keyword,sd.para.source_type.keyword) : search_keyword;
116118
}
117119

118120
if(_.isObject(sd.para.heatmap)) {

0 commit comments

Comments
 (0)