@@ -51,6 +51,7 @@ if(typeof JSON!=='object'){JSON={}}(function(){'use strict';var rx_one=/^[\],:{}
5151 // send_error_event: true,
5252 cross_subdomain : true ,
5353 show_log : true ,
54+ is_debug : false ,
5455 debug_mode : false ,
5556 debug_mode_upload : false ,
5657
@@ -122,7 +123,7 @@ var ObjProto = Object.prototype;
122123var slice = ArrayProto . slice ;
123124var toString = ObjProto . toString ;
124125var hasOwnProperty = ObjProto . hasOwnProperty ;
125- var LIB_VERSION = '1.8.7 ' ;
126+ var LIB_VERSION = '1.8.8 ' ;
126127
127128sd . lib_version = LIB_VERSION ;
128129
@@ -1177,7 +1178,7 @@ _.ajax = function(para) {
11771178_ . url = ( function ( ) {
11781179
11791180 function _t ( ) {
1180- return new RegExp ( / ( .* ?) \. ? ( [ ^ \. ] * ?) \. ? ( c o m | n e t | o r g | b i z | w s | i n | m e | c o \. u k | c o | o r g \. u k | l t d \. u k | p l c \. u k | m e \. u k | e d u | m i l | b r \. c o m | c n \. c o m | e u \. c o m | h u \. c o m | n o \. c o m | q c \. c o m | s a \. c o m | s e \. c o m | s e \. n e t | u s \. c o m | u y \. c o m | a c | c o \. a c | g v \. a c | o r \. a c | a c \. a c | a f | a m | a s | a t | a c \. a t | c o \. a t | g v \. a t | o r \. a t | a s n \. a u | c o m \. a u | e d u \. a u | o r g \. a u | n e t \. a u | i d \. a u | b e | a c \. b e | a d m \. b r | a d v \. b r | a m \. b r | a r q \. b r | a r t \. b r | b i o \. b r | c n g \. b r | c n t \. b r | c o m \. b r | e c n \. b r | e n g \. b r | e s p \. b r | e t c \. b r | e t i \. b r | f m \. b r | f o t \. b r | f s t \. b r | g 1 2 \. b r | g o v \. b r | i n d \. b r | i n f \. b r | j o r \. b r | l e l \. b r | m e d \. b r | m i l \. b r | n e t \. b r | n o m \. b r | n t r \. b r | o d o \. b r | o r g \. b r | p p g \. b r | p r o \. b r | p s c \. b r | p s i \. b r | r e c \. b r | s l g \. b r | t m p \. b r | t u r \. b r | t v \. b r | v e t \. b r | z l g \. b r | b r | a b \. c a | b c \. c a | m b \. c a | n b \. c a | n f \. c a | n s \. c a | n t \. c a | o n \. c a | p e \. c a | q c \. c a | s k \. c a | y k \. c a | c a | c c | a c \. c n | c o m \. c n | e d u \. c n | g o v \. c n | o r g \. c n | b j \. c n | s h \. c n | t j \. c n | c q \. c n | h e \. c n | n m \. c n | l n \. c n | j l \. c n | h l \. c n | j s \. c n | z j \. c n | a h \. c n | g d \. c n | g x \. c n | h i \. c n | s c \. c n | g z \. c n | y n \. c n | x z \. c n | s n \. c n | g s \. c n | q h \. c n | n x \. c n | x j \. c n | t w \. c n | h k \. c n | m o \. c n | c n | c x | c z | d e | d k | f o | c o m \. e c | t m \. f r | c o m \. f r | a s s o \. f r | p r e s s e \. f r | f r | g f | g s | c o \. i l | n e t \. i l | a c \. i l | k 1 2 \. i l | g o v \. i l | m u n i \. i l | a c \. i n | c o \. i n | o r g \. i n | e r n e t \. i n | g o v \. i n | n e t \. i n | r e s \. i n | i s | i t | a c \. j p | c o \. j p | g o \. j p | o r \. j p | n e \. j p | a c \. k r | c o \. k r | g o \. k r | n e \. k r | n m \. k r | o r \. k r | l i | l t | l u | a s s o \. m c | t m \. m c | c o m \. m m | o r g \. m m | n e t \. m m | e d u \. m m | g o v \. m m | m s | n l | n o | n u | p l | r o | o r g \. r o | s t o r e \. r o | t m \. r o | f i r m \. r o | w w w \. r o | a r t s \. r o | r e c \. r o | i n f o \. r o | n o m \. r o | n t \. r o | s e | s i | c o m \. s g | o r g \. s g | n e t \. s g | g o v \. s g | s k | s t | t f | a c \. t h | c o \. t h | g o \. t h | m i \. t h | n e t \. t h | o r \. t h | t m | t o | c o m \. t r | e d u \. t r | g o v \. t r | k 1 2 \. t r | n e t \. t r | o r g \. t r | c o m \. t w | o r g \. t w | n e t \. t w | a c \. u k | u k \. c o m | u k \. n e t | g b \. c o m | g b \. n e t | v g | s h | k z | c h | i n f o | u a | g o v | n a m e | p r o | i e | h k | c o m \. h k | o r g \. h k | n e t \. h k | e d u \. h k | u s | t k | c d | b y | a d | l v | e u \. l v | b z | e s | j p | c l | a g | m o b i | e u | c o \. n z | o r g \. n z | n e t \. n z | m a o r i \. n z | i w i \. n z | i o | l a | m d | s c | s g | v c | t w | t r a v e l | m y | s e | t v | p t | c o m \. p t | e d u \. p t | a s i a | f i | c o m \. v e | n e t \. v e | f i | o r g \. v e | w e b \. v e | i n f o \. v e | c o \. v e | t e l | i m | g r | r u | n e t \. r u | o r g \. r u | h r | c o m \. h r | l y | x y z ) $ / ) ;
1181+ return new RegExp ( / ( .* ?) \. ? ( [ ^ \. ] * ?) \. ( c o m | n e t | o r g | b i z | w s | i n | m e | c o \. u k | c o | o r g \. u k | l t d \. u k | p l c \. u k | m e \. u k | e d u | m i l | b r \. c o m | c n \. c o m | e u \. c o m | h u \. c o m | n o \. c o m | q c \. c o m | s a \. c o m | s e \. c o m | s e \. n e t | u s \. c o m | u y \. c o m | a c | c o \. a c | g v \. a c | o r \. a c | a c \. a c | a f | a m | a s | a t | a c \. a t | c o \. a t | g v \. a t | o r \. a t | a s n \. a u | c o m \. a u | e d u \. a u | o r g \. a u | n e t \. a u | i d \. a u | b e | a c \. b e | a d m \. b r | a d v \. b r | a m \. b r | a r q \. b r | a r t \. b r | b i o \. b r | c n g \. b r | c n t \. b r | c o m \. b r | e c n \. b r | e n g \. b r | e s p \. b r | e t c \. b r | e t i \. b r | f m \. b r | f o t \. b r | f s t \. b r | g 1 2 \. b r | g o v \. b r | i n d \. b r | i n f \. b r | j o r \. b r | l e l \. b r | m e d \. b r | m i l \. b r | n e t \. b r | n o m \. b r | n t r \. b r | o d o \. b r | o r g \. b r | p p g \. b r | p r o \. b r | p s c \. b r | p s i \. b r | r e c \. b r | s l g \. b r | t m p \. b r | t u r \. b r | t v \. b r | v e t \. b r | z l g \. b r | b r | a b \. c a | b c \. c a | m b \. c a | n b \. c a | n f \. c a | n s \. c a | n t \. c a | o n \. c a | p e \. c a | q c \. c a | s k \. c a | y k \. c a | c a | c c | a c \. c n | c o m \. c n | e d u \. c n | g o v \. c n | o r g \. c n | b j \. c n | s h \. c n | t j \. c n | c q \. c n | h e \. c n | n m \. c n | l n \. c n | j l \. c n | h l \. c n | j s \. c n | z j \. c n | a h \. c n | g d \. c n | g x \. c n | h i \. c n | s c \. c n | g z \. c n | y n \. c n | x z \. c n | s n \. c n | g s \. c n | q h \. c n | n x \. c n | x j \. c n | t w \. c n | h k \. c n | m o \. c n | c n | c x | c z | d e | d k | f o | c o m \. e c | t m \. f r | c o m \. f r | a s s o \. f r | p r e s s e \. f r | f r | g f | g s | c o \. i l | n e t \. i l | a c \. i l | k 1 2 \. i l | g o v \. i l | m u n i \. i l | a c \. i n | c o \. i n | o r g \. i n | e r n e t \. i n | g o v \. i n | n e t \. i n | r e s \. i n | i s | i t | a c \. j p | c o \. j p | g o \. j p | o r \. j p | n e \. j p | a c \. k r | c o \. k r | g o \. k r | n e \. k r | n m \. k r | o r \. k r | l i | l t | l u | a s s o \. m c | t m \. m c | c o m \. m m | o r g \. m m | n e t \. m m | e d u \. m m | g o v \. m m | m s | n l | n o | n u | p l | r o | o r g \. r o | s t o r e \. r o | t m \. r o | f i r m \. r o | w w w \. r o | a r t s \. r o | r e c \. r o | i n f o \. r o | n o m \. r o | n t \. r o | s e | s i | c o m \. s g | o r g \. s g | n e t \. s g | g o v \. s g | s k | s t | t f | a c \. t h | c o \. t h | g o \. t h | m i \. t h | n e t \. t h | o r \. t h | t m | t o | c o m \. t r | e d u \. t r | g o v \. t r | k 1 2 \. t r | n e t \. t r | o r g \. t r | c o m \. t w | o r g \. t w | n e t \. t w | a c \. u k | u k \. c o m | u k \. n e t | g b \. c o m | g b \. n e t | v g | s h | k z | c h | i n f o | u a | g o v | n a m e | p r o | i e | h k | c o m \. h k | o r g \. h k | n e t \. h k | e d u \. h k | u s | t k | c d | b y | a d | l v | e u \. l v | b z | e s | j p | c l | a g | m o b i | e u | c o \. n z | o r g \. n z | n e t \. n z | m a o r i \. n z | i w i \. n z | i o | l a | m d | s c | s g | v c | t w | t r a v e l | m y | s e | t v | p t | c o m \. p t | e d u \. p t | a s i a | f i | c o m \. v e | n e t \. v e | f i | o r g \. v e | w e b \. v e | i n f o \. v e | c o \. v e | t e l | i m | g r | r u | n e t \. r u | o r g \. r u | h r | c o m \. h r | l y | x y z ) $ / ) ;
11811182 }
11821183
11831184 function _d ( s ) {
@@ -1457,6 +1458,19 @@ _.ry.init.prototype = {
14571458 }
14581459} ;
14591460
1461+ _ . jssdkDebug = function ( recevie_prop , has_prop ) {
1462+ if ( sd . para . is_debug ) {
1463+ var cookie = store . getCookieName ( ) ;
1464+ var match = document . cookie . match ( new RegExp ( cookie + '[^;]+' ) ) ;
1465+ if ( match && match [ 0 ] ) {
1466+ cookie = match [ 0 ] ;
1467+ } else {
1468+ cookie = '' ;
1469+ }
1470+ recevie_prop . _jssdk_debug_info = '(' + cookie + ')' + navigator . userAgent ;
1471+ }
1472+ } ;
1473+
14601474_ . querySelectorAll = function ( val ) {
14611475 if ( typeof val !== 'string' ) {
14621476 logger . info ( '错误' , val ) ;
@@ -1473,7 +1487,7 @@ _.querySelectorAll = function(val){
14731487_ . getReferrer = function ( referrer ) {
14741488 var referrer = referrer || document . referrer ;
14751489 if ( typeof referrer !== 'string' ) {
1476- return '取值异常' ;
1490+ return '取值异常(referrer异常)(' + String ( referrer ) + ') ';
14771491 }
14781492 if ( referrer . indexOf ( "https://www.baidu.com/" ) === 0 ) {
14791493 referrer = referrer . split ( '?' ) [ 0 ] ;
@@ -1497,10 +1511,10 @@ _.getKeywordFromReferrer = function(){
14971511 }
14981512 return '未取到值' ;
14991513 } else {
1500- return '未取到值' ;
1514+ return '未取到值(非http的url) ' ;
15011515 }
15021516 } else {
1503- return '取值异常' ;
1517+ return '取值异常(referrer异常)(' + String ( document . referrer ) + ') ';
15041518 }
15051519} ;
15061520
@@ -1796,16 +1810,7 @@ var saNewUser = {
17961810 var referrer_domain = _ . info . pageProp . referrer_domain ;
17971811 // 判断最近一次,如果前向地址跟自己域名一致,且cookie中取不到值,认为有异常
17981812 // 最近一次站外前向地址,如果域名不一致,就register为latest
1799- if ( url_domain === referrer_domain ) {
1800- if ( ! store . getProps ( ) || ! ( '$latest_referrer' in store . getProps ( ) ) ) {
1801- sd . register ( {
1802- $latest_referrer : '取值异常' ,
1803- $latest_referrer_host : '取值异常' ,
1804- $latest_traffic_source_type : '取值异常' ,
1805- $latest_search_keyword : '取值异常'
1806- } ) ;
1807- }
1808- } else {
1813+ if ( url_domain !== referrer_domain ) {
18091814 sd . register ( {
18101815 $latest_traffic_source_type :_ . getSourceFromReferrer ( ) ,
18111816 $latest_referrer : _ . info . pageProp . referrer ,
@@ -1982,7 +1987,24 @@ saEvent.send = function(p, callback) {
19821987 if ( ! p . type || p . type . slice ( 0 , 7 ) !== 'profile' ) {
19831988 // 传入的属性 > 当前页面的属性 > session的属性 > cookie的属性 > 预定义属性
19841989 data . properties = _ . extend ( { } , _ . info . properties ( ) , store . getProps ( ) , store . getSessionProps ( ) , _ . info . currentProps , data . properties ) ;
1990+ if ( ! _ . isString ( data . properties . $latest_referrer ) ) {
1991+ data . properties . $latest_referrer = '取值异常' ;
1992+ _ . jssdk_debug ( data . properties , store . getProps ( ) ) ;
1993+ }
1994+ if ( ! _ . isString ( data . properties . $latest_referrer_host ) ) {
1995+ data . properties . $latest_referrer_host = '取值异常' ;
1996+ }
1997+ if ( ! _ . isString ( data . properties . $latest_search_keyword ) ) {
1998+ data . properties . $latest_search_keyword = '取值异常' ;
1999+ }
2000+ if ( ! _ . isString ( data . properties . $latest_traffic_source_type ) ) {
2001+ data . properties . $latest_traffic_source_type = '取值异常' ;
2002+ }
2003+
19852004 }
2005+
2006+
2007+
19862008 // 如果$time是传入的就用,否则使用服务端时间
19872009 if ( data . properties . $time && _ . isDate ( data . properties . $time ) ) {
19882010 data . time = data . properties . $time * 1 ;
@@ -2035,7 +2057,7 @@ saEvent.send = function(p, callback) {
20352057 _sessionState : { } ,
20362058 _state : { } ,
20372059 getProps : function ( ) {
2038- return this . _state . props ;
2060+ return this . _state . props || { } ;
20392061 } ,
20402062 getSessionProps : function ( ) {
20412063 return this . _sessionState ;
@@ -2193,6 +2215,9 @@ saEvent.send = function(p, callback) {
21932215
21942216
21952217 var commonWays = {
2218+ isReady :function ( callback ) {
2219+ callback ( ) ;
2220+ } ,
21962221 // 获取谷歌标准参数
21972222 getUtm : function ( ) {
21982223 return _ . info . campaignParams ( ) ;
@@ -2374,7 +2399,7 @@ saEvent.send = function(p, callback) {
23742399 $url : location . href ,
23752400 $url_path : location . pathname ,
23762401 $title : document . title
2377- } , $utms , para ) , callback
2402+ } , $utms , para ) , callback
23782403 ) ;
23792404
23802405 }
@@ -2435,6 +2460,7 @@ saEvent.send = function(p, callback) {
24352460 return false ;
24362461 }
24372462 function linkFunc ( e ) {
2463+ e . stopPropagation ( ) ;
24382464 e . preventDefault ( ) ; // 阻止默认跳转
24392465 var hasCalled = false ;
24402466 function track_a_click ( ) {
@@ -2457,7 +2483,11 @@ saEvent.send = function(p, callback) {
24572483 } ;
24582484
24592485 sd . trackLink = function ( link , event_name , event_prop ) {
2460- _ . trackLink ( { ele :link } , event_name , event_prop ) ;
2486+ if ( typeof link === 'object' && link . tagName ) {
2487+ _ . trackLink ( { ele :link } , event_name , event_prop ) ;
2488+ } else if ( typeof link === 'object' && link . target && link . event ) {
2489+ _ . trackLink ( link , event_name , event_prop ) ;
2490+ }
24612491 } ;
24622492 // 跟踪链接
24632493 sd . trackLinks = function ( link , event_name , event_prop ) {
0 commit comments