Skip to content

Commit 36d6532

Browse files
committed
修改了百度referrer过长问题
1 parent db64bd9 commit 36d6532

File tree

4 files changed

+34
-15
lines changed

4 files changed

+34
-15
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: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1068,7 +1068,15 @@ _.dom = {
10681068
};
10691069

10701070
_.getReferrer = function(){
1071-
return (typeof document.referrer === 'string' ? document.referrer : '' );
1071+
1072+
var referrer = document.referrer;
1073+
1074+
if(referrer.indexOf("https://www.baidu.com/") === 0){
1075+
referrer = referrer.split('?')[0]
1076+
}
1077+
referrer = referrer.slice(0, sd.para.max_referrer_string_length);
1078+
1079+
return (typeof referrer === 'string' ? referrer : '' );
10721080
}
10731081

10741082
_.info = {
@@ -1582,15 +1590,15 @@ saEvent.send = function(p, callback) {
15821590
},
15831591
//set init referrer
15841592
setInitReferrer: function() {
1585-
var _referrer = (_.getReferrer()).slice(0, sd.para.max_referrer_string_length);
1593+
var _referrer = _.getReferrer();
15861594
sd.setOnceProfile({
15871595
_init_referrer: _referrer,
15881596
_init_referrer_host: _.info.pageProp.referrer_host
15891597
});
15901598
},
15911599
// set init sessionRegister cookie
15921600
setSessionReferrer: function() {
1593-
var _referrer = (_.getReferrer()).slice(0, sd.para.max_referrer_string_length);
1601+
var _referrer = _.getReferrer();
15941602
store.setSessionPropsOnce({
15951603
_session_referrer: _referrer,
15961604
_session_referrer_host: _.info.pageProp.referrer_host
@@ -1600,7 +1608,7 @@ saEvent.send = function(p, callback) {
16001608
setDefaultAttr: function() {
16011609
_.info.register({
16021610
_current_url: location.href,
1603-
_referrer: (_.getReferrer()).slice(0, sd.para.max_referrer_string_length),
1611+
_referrer: _.getReferrer(),
16041612
_referring_host: _.info.pageProp.referrer_host
16051613
});
16061614
},
@@ -1693,7 +1701,7 @@ saEvent.send = function(p, callback) {
16931701
sd.setOnceProfile(_.extend({
16941702
// 暂时隐藏,等extractor都部署上去 $first_landing_page: _.info.pageProp.url.slice(0, sd.para.max_referrer_string_length),
16951703
$first_visit_time: new Date(),
1696-
$first_referrer: (_.getReferrer()).slice(0, sd.para.max_referrer_string_length),
1704+
$first_referrer: _.getReferrer(),
16971705
$first_browser_language: navigator.language,
16981706
$first_referrer_host: _.info.pageProp.referrer_host
16991707
}, $utms)
@@ -1705,7 +1713,7 @@ saEvent.send = function(p, callback) {
17051713

17061714
// trackpageview
17071715
sd.track('$pageview', _.extend({
1708-
$referrer: (_.getReferrer()).slice(0, sd.para.max_referrer_string_length),
1716+
$referrer: _.getReferrer(),
17091717
$referrer_host: _.info.pageProp.referrer_host,
17101718
$url: location.href,
17111719
$url_path: location.pathname,

src/sensorsdata.full.js

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,10 +1681,21 @@ _.dom = {
16811681

16821682
};
16831683

1684+
_.getReferrer = function(){
1685+
1686+
var referrer = document.referrer;
1687+
1688+
if(referrer.indexOf("https://www.baidu.com/") === 0){
1689+
referrer = referrer.split('?')[0]
1690+
}
1691+
referrer = referrer.slice(0, sd.para.max_referrer_string_length);
1692+
1693+
return (typeof referrer === 'string' ? referrer : '' );
1694+
}
16841695

16851696
_.info = {
16861697
initPage: function() {
1687-
var referrer = document.referrer;
1698+
var referrer = _.getReferrer();
16881699
var referrer_host = referrer ? _.url('hostname',referrer) : referrer;
16891700
var referrer_domain = referrer ? _.url('domain',referrer) : referrer;
16901701
var url = location.href;
@@ -2187,15 +2198,15 @@ saEvent.send = function(p, callback) {
21872198
},
21882199
//set init referrer
21892200
setInitReferrer: function() {
2190-
var _referrer = (document.referrer).slice(0, sd.para.max_referrer_string_length);
2201+
var _referrer = _.getReferrer();
21912202
sd.setOnceProfile({
21922203
_init_referrer: _referrer,
21932204
_init_referrer_host: _.info.pageProp.referrer_host
21942205
});
21952206
},
21962207
// set init sessionRegister cookie
21972208
setSessionReferrer: function() {
2198-
var _referrer = (document.referrer).slice(0, sd.para.max_referrer_string_length);
2209+
var _referrer = _.getReferrer();
21992210
store.setSessionPropsOnce({
22002211
_session_referrer: _referrer,
22012212
_session_referrer_host: _.info.pageProp.referrer_host
@@ -2205,7 +2216,7 @@ saEvent.send = function(p, callback) {
22052216
setDefaultAttr: function() {
22062217
_.info.register({
22072218
_current_url: location.href,
2208-
_referrer: (document.referrer).slice(0, sd.para.max_referrer_string_length),
2219+
_referrer: _.getReferrer(),
22092220
_referring_host: _.info.pageProp.referrer_host
22102221
});
22112222
},
@@ -2298,7 +2309,7 @@ saEvent.send = function(p, callback) {
22982309
sd.setOnceProfile(_.extend({
22992310
// 暂时隐藏,等extractor都部署上去 $first_landing_page: _.info.pageProp.url.slice(0, sd.para.max_referrer_string_length),
23002311
$first_visit_time: new Date(),
2301-
$first_referrer: (document.referrer).slice(0, sd.para.max_referrer_string_length),
2312+
$first_referrer: _.getReferrer(),
23022313
$first_browser_language: navigator.language,
23032314
$first_referrer_host: _.info.pageProp.referrer_host
23042315
}, $utms)
@@ -2310,7 +2321,7 @@ saEvent.send = function(p, callback) {
23102321

23112322
// trackpageview
23122323
sd.track('$pageview', _.extend({
2313-
$referrer: (document.referrer).slice(0, sd.para.max_referrer_string_length),
2324+
$referrer: _.getReferrer(),
23142325
$referrer_host: _.info.pageProp.referrer_host,
23152326
$url: location.href,
23162327
$url_path: location.pathname,

vtrack.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.

0 commit comments

Comments
 (0)