Skip to content

Commit 0386a5f

Browse files
[版本升级] 4.4.4
1 parent 404660e commit 0386a5f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+233
-217
lines changed

.eslintignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
node_modules/*
2+
ua-parser.js
3+
test/
4+
**/decodeGBK.js
5+
**/JSON2.js
6+
!src/
7+
*.html
8+
*.json
9+
*.min.js

.eslintrc.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module.exports = {
2+
"env": {
3+
"browser": true,
4+
"es6": true,
5+
"jest": true,
6+
"node": true
7+
},
8+
"extends": "eslint:recommended",
9+
"globals": {
10+
"Atomics": "readonly",
11+
"SharedArrayBuffer": "readonly",
12+
"__static": true
13+
},
14+
"parser": 'babel-eslint',
15+
"parserOptions": {
16+
"ecmaVersion": 6,
17+
"sourceType": "module",
18+
},
19+
"rules": {
20+
"no-empty": 0,
21+
"no-control-regex": "off",
22+
"no-misleading-character-class": "off"
23+
}
24+
};

demo/sdk/AnalysysAgent_Encrypt.amd.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.

demo/sdk/AnalysysAgent_Encrypt.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.

demo/sdk/AnalysysAgent_JS_SDK.amd.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.

demo/sdk/AnalysysAgent_JS_SDK.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.

demo/sdk/AnalysysAgent_JS_SDK_HEATMAP.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.

demo/sdk/AnalysysAgent_JS_SDK_VISUAL.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.

demo/sdk/AnalysysAgent_PageViewStayTime.amd.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.

demo/sdk/AnalysysAgent_PageViewStayTime.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.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ans-javascript-sdk",
3-
"version": "4.4.3",
3+
"version": "4.4.4",
44
"description": "official analysysAgent javascript sdk",
55
"main": "./SDK/AnalysysAgent_JS_SDK.min.js",
66
"scripts": {

sdk/AnalysysAgent_Encrypt.amd.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.

sdk/AnalysysAgent_Encrypt.es6.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.

sdk/AnalysysAgent_Encrypt.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.

sdk/AnalysysAgent_JS_SDK.amd.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.

sdk/AnalysysAgent_JS_SDK.es6.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.

sdk/AnalysysAgent_JS_SDK.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.

sdk/AnalysysAgent_JS_SDK_HEATMAP.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.

sdk/AnalysysAgent_JS_SDK_VISUAL.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.

sdk/AnalysysAgent_PageViewStayTime.amd.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.

sdk/AnalysysAgent_PageViewStayTime.es6.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.

sdk/AnalysysAgent_PageViewStayTime.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.

src/API/template/pageView.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
import { temp } from '../../lib/mergeRules/index.js'
22
import { fillField, checkPrivate, resetCode } from '../../lib/fillField/index.js'
3+
import { setReferrer } from '../../lib/fillField/getField.js'
34
import baseConfig from '../../lib/baseConfig/index.js'
45
import { upLog } from '../../lib/upload/index.js'
56
import Util from '../../lib/common/index.js'
67
import Storage from '../../lib/storage/index.js'
78
import { transporter, backParamsArray } from '../../lib/upload/hybrid.js'
9+
10+
var pageCloseStatus = false
11+
var pageUrl = window.location.href
12+
813
/**
914
* @method pageView 统计页面事件
1015
* 第一个参数为页面名称 类型:String
@@ -33,10 +38,9 @@ function pageView (pageName, obj, callback) {
3338
var log = pageViewLog(pageName, obj, callback)
3439

3540
// 去除空数据后上传数据
36-
3741
upLog(log, callback)
3842
}
39-
var pageCloseStatus = false
43+
4044
function pageViewLog (p, o, c) {
4145
var pageName = p
4246
var obj = o
@@ -129,21 +133,22 @@ function pageViewLog (p, o, c) {
129133
var backParams = backParamsArray(pageName || '', hybridPageViewLog, callback)
130134
var paramArray = backParams.argArray
131135
transporter('pageView', paramArray, backParams.callback)
136+
setReferrer(pageUrl)
137+
132138
return
133139
}
140+
setReferrer(pageUrl)
134141
/**
135142
* 自动采集与个性化属性合并
136143
*/
137144
return Util.objMerge(pageViewObj, xcontext)
138145
}
139146

140-
var pageUrl = window.location.href
141147

142148
function hashPageView () {
143149
Util.changeHash(function () {
144150
if (pageUrl !== window.location.href) {
145151
pageUrl = window.location.href
146-
147152
pageView()
148153
}
149154
})

src/API/template/startUp.js

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -69,51 +69,9 @@ function startUp () {
6969

7070
// 自动采集页面
7171
if (baseConfig.base.auto === true) {
72-
// var status = true
73-
// /**
74-
// * 判断黑白名单
75-
// * 符合黑名单,不上报
76-
// * 有白名单,且不符合白名单,不上报
77-
// */
78-
// if (Util.checkTypeList(baseConfig.base.pageViewBlackList) || (baseConfig.base.pageViewWhiteList && !Util.checkTypeList(baseConfig.base.pageViewWhiteList))) {
79-
// status = false
80-
// }
81-
// if (status === true) { // 获取事件日志模板
82-
// baseConfig.status.FnName = '$pageview'
83-
// var pageViewTemp = temp('$pageview')
84-
// var pageViewObj = fillField(pageViewTemp)
85-
// /**
86-
// * 超级属性优先于自动采集属性
87-
// */
88-
// pageViewObj = Util.objMerge(Util.delEmpty(pageViewObj), {
89-
// xcontext: arkSuper
90-
// })
91-
// var pageProperty = baseConfig.base.pageProperty
92-
// if (Util.paramType(pageProperty) === 'Object' && !Util.isEmptyObject(pageProperty)) {
93-
// // 检测distinctId
94-
// for (var key in pageProperty) {
95-
// if (Util.paramType(pageProperty[key]) === 'Function') {
96-
// pageProperty[key] = pageProperty[key].call(pageProperty[key])
97-
// }
98-
// }
99-
// checkPrivate(pageProperty)
100-
// // baseConfig.status.FnName = '$pageview'
101-
// /**
102-
// * 自定义属性属性优先于自动采集属性
103-
// */
104-
// pageViewObj = Util.objMerge(pageViewObj, {
105-
// xcontext: pageProperty
106-
// })
107-
// baseConfig.base.pageProperty = {}
108-
// }
10972
var pageLog = pageViewLog(baseConfig.base.pageProperty)
11073

11174
log.push(pageLog)
112-
// if (window.AnalysysModule && window.AnalysysModule.pageClose && Util.paramType(window.AnalysysModule.pageClose.createTime) === 'Function') {
113-
// window.AnalysysModule.pageClose.createTime(+new Date(), pageLog.xcontext.$title)
114-
// }
115-
// }
116-
11775
// 开启hash跳转
11876
if (baseConfig.base.hash === true || baseConfig.base.singlePage === true) {
11977
hashPageView()

src/API/template/track.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,6 @@ function track (eventName, obj, callback) {
2626
xcontext: obj
2727
}
2828
}
29-
if (baseConfig.base.isHybrid === true) {
30-
var backParams = backParamsArray(eventName, userProp.xcontext, callback)
31-
var paramArray = backParams.argArray
32-
// paramArray.postion = elePostionObj || null
33-
transporter('track', paramArray, backParams.callback)
34-
// window.AnalysysAgentHybrid.track(eventName, JSON.stringify(userProp.xcontext), JSON.stringify(elePostionObj))
35-
return
36-
}
3729
var arkSuper = Storage.getLocal('ARKSUPER') || {}
3830

3931
/**
@@ -42,6 +34,20 @@ function track (eventName, obj, callback) {
4234
var xcontext = Util.objMerge({
4335
xcontext: arkSuper
4436
}, userProp)
37+
if (baseConfig.base.isHybrid === true) {
38+
var trackHybridTemp = temp('$trackbase')
39+
var trackHybridObj = fillField(trackHybridTemp)
40+
trackHybridObj = Util.delEmpty(trackHybridObj)
41+
var hybridPageViewLog = Util.objMerge(trackHybridObj, xcontext)
42+
hybridPageViewLog = Util.delNotHybrid(Util.delEmpty(hybridPageViewLog.xcontext))
43+
var backParams = backParamsArray(eventName, hybridPageViewLog, callback)
44+
var paramArray = backParams.argArray
45+
// paramArray.postion = elePostionObj || null
46+
transporter('track', paramArray, backParams.callback)
47+
// window.AnalysysAgentHybrid.track(eventName, JSON.stringify(userProp.xcontext), JSON.stringify(elePostionObj))
48+
return
49+
}
50+
4551
var trackTemp = temp('$track')
4652
var trackObj = fillField(trackTemp)
4753
/**

src/configure/customized/encrypt/lib/encrypt.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function encryptKey (lib, appid, libVersion) {
2727
var F = libVersion.split('.')
2828
var F1 = F[F.length - 1]
2929
var F2 = F[F.length - 2]
30-
if (!(Number(F2) % 2) === 0) {
30+
if (!(Number(F2) % 2) === false) {
3131
// 倒叙
3232
base64Str = baseStr.reverse()
3333
} else {

src/configure/customized/heatmap/heatmapSDK/heatMap/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ function getPoints () {
165165

166166
function radiusPoint (p1, p2) {
167167
return (p1.x - radius - diffRadius <= p2.x && p2.x <= p1.x + radius - diffRadius) &&
168-
(p1.y - radius - diffRadius <= p2.y && p2.y <= p1.y + radius - diffRadius)
168+
(p1.y - radius - diffRadius <= p2.y && p2.y <= p1.y + radius - diffRadius)
169169
}
170170

171171
function resetGradient (max, min) {

src/configure/customized/heatmap/heatmapSDK/index.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ var isInitHeatmap = false
4444
*/
4545
function processMsg (msg) {
4646
if (msg.code === 'ark/heatmap' ||
47-
msg.code === 'ark/depth' ||
48-
msg.code === 'ark/element' ||
49-
msg.code === 'ark/attention') {
47+
msg.code === 'ark/depth' ||
48+
msg.code === 'ark/element' ||
49+
msg.code === 'ark/attention') {
5050
if (!isInitHeatmap) {
5151
ifarmeMessageList.push(msg)
5252
} else {
@@ -283,7 +283,7 @@ function initHeatmap () {
283283
var testParams = unescape(arkcontentText)
284284
showMapConfig.contentText = JSON.parse(testParams)
285285
initContent()
286-
} catch (e) {}
286+
} catch (e) { }
287287
}
288288
} else {
289289
setTimeout(initHeatmap, 20)

src/configure/customized/heatmap/lib/elementContent.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,29 +3,35 @@ import Util from '../../../../lib/common/index.js'
33
function getElementContent (ele) {
44
var eleContent = ''
55
if (ele.tagName.toLowerCase() === 'input' && (ele.type === 'button' || ele.type === 'submit')) {
6-
eleContent = Util.trim(ele.value) || ''
6+
eleContent = ele.value || ''
77
} else if (ele.tagName.toLowerCase() === 'img') {
8-
eleContent = Util.trim(ele.getAttribute('alt')) || Util.trim(ele.getAttribute('title')) || ''
8+
eleContent = ele.getAttribute('alt') || ele.getAttribute('title') || ''
99
} else if (ele.tagName.toLowerCase() === 'a') {
10-
eleContent = Util.trim(ele.getAttribute('title')) || ''
10+
eleContent = ele.getAttribute('title') || ''
1111
}
1212
if (!eleContent) {
13-
if (ele.textContent) {
14-
eleContent = Util.trim(ele.textContent)
15-
} else {
16-
if (ele.innerText) {
17-
eleContent = Util.trim(ele.innerText)
13+
var children = ele.childNodes
14+
for (var i = 0; i < children.length; i++) {
15+
if (children[i].nodeType === 3) {
16+
eleContent += children[i].nodeValue
1817
}
1918
}
19+
// if (ele.textContent) {
20+
// eleContent = Util.trim(ele.textContent)
21+
// } else {
22+
// if (ele.innerText) {
23+
// eleContent = Util.trim(ele.innerText)
24+
// }
25+
// }
2026
}
2127
if (eleContent && Util.paramType(eleContent) === 'String') {
22-
eleContent = eleContent.replace(/[\r\n]/g, ' ').replace(/[ ]+/g, ' ').substring(0, 255)
28+
eleContent = eleContent.replace(/[\r\n]/g, ' ').replace(/[ ]+/g, ' ')
2329
} else {
2430
eleContent = ''
2531
}
2632
if (ele.tagName.toLowerCase() === 'input') {
2733
return ''
2834
}
29-
return eleContent
35+
return Util.trim(eleContent)
3036
}
3137
export { getElementContent }

src/configure/customized/heatmap/lib/getField.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,9 @@ function getElementPath () {
7171

7272
function getUrlPath () {
7373
var url = window.location.protocol + '//' + window.location.host + window.location.pathname + window.location.hash
74-
url = decodeURIComponent(url)
74+
try {
75+
url = decodeURIComponent(url)
76+
} catch (e) { }
7577
if (baseConfig.base.isHybrid === true) {
7678
url = encodeURIComponent(url)
7779
}
@@ -168,7 +170,9 @@ function getElementClassName () {
168170
function getElementTargetUrl () {
169171
var href = elePostion.ele.getAttribute('href')
170172
if (href && href.indexOf('javascript:') < 0) {
171-
href = decodeURIComponent(href)
173+
try {
174+
href = decodeURIComponent(href)
175+
} catch (e) { }
172176
if (baseConfig.base.isHybrid === true) {
173177
href = encodeURIComponent(href)
174178
}

src/configure/customized/heatmap/lib/heatmap.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ function initHeatmap () {
7575

7676
function heatmapInit (config) {
7777
heatmapConfig = config
78-
if (window.location.href.indexOf('arkheatmap=true') > -1) {
78+
if (window.location.href.indexOf('arkheatmap=true') > -1 || window.name.indexOf('arkheatmap=true') > -1) {
79+
if (window.name === '') {
80+
window.name = window.location.href
81+
}
7982
loadHeatmapSDK()
8083
} else if (config.autoHeatmap === true && config.isHybrid === false) {
8184
initHeatmap()

src/configure/customized/visual/lib/visitor.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ function addEventListener () {
268268

269269
function visitorInit (config) {
270270
visitorConfig = config
271-
if (Util.paramType(window.top) !== 'Undefined' && (window.top !== window.self) && (window.location.href.indexOf('visual=true') > -1 || Storage.getSession('visitor') === true)) {
271+
if (Util.paramType(window.top) !== 'Undefined' && (window.top !== window.self) && (window.location.href.indexOf('visual=true') > -1 || (Storage.getSession('ISVISUAL') === true && window.location.href.indexOf('arkheatmap=true') < 0))) {
272272
loadVisitorSDK()
273273
} else {
274274
visitorPageViewInit(config)

src/configure/customized/visual/visualShow/index.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ function processMsg (msg) {
5151
if (highlightStatus === false) {
5252
return
5353
}
54-
if (eventList.length === 0) {
55-
console.log('无埋点列表')
56-
}
5754
if (!isElmentReady() || document.readyState !== 'complete') {
5855
setTimeout(function () {
5956
processMsg(msg)
@@ -183,6 +180,6 @@ window.AnalysysModule = Util.objMerge(window.AnalysysModule || {}, {
183180
visual: {
184181
init: initVisual,
185182
msg: processMsg,
186-
version: '4.4.1'
183+
version: '4.4.2'
187184
}
188185
})

src/configure/customized/webstay/lib/autoWebstay.js

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@ function initWebStay () {
3030
// setTimeout(startScroll, 1000)
3131
}
3232

33-
function startScroll () {
34-
if (!window.AnalysysAgent || !window.AnalysysAgent.freeApi || !document.body) {
35-
setTimeout(function () { startScroll() }, 100)
36-
} else {
37-
var fristScrollTop = document.documentElement.scrollTop || document.body.scrollTop
38-
if (fristScrollTop === 0) {
39-
40-
window.AnalysysAgent.freeApi('$webstay')
41-
}
42-
}
43-
}
33+
// function startScroll () {
34+
// if (!window.AnalysysAgent || !window.AnalysysAgent.freeApi || !document.body) {
35+
// setTimeout(function () { startScroll() }, 100)
36+
// } else {
37+
// var fristScrollTop = document.documentElement.scrollTop || document.body.scrollTop
38+
// if (fristScrollTop === 0) {
39+
40+
// window.AnalysysAgent.freeApi('$webstay')
41+
// }
42+
// }
43+
// }
4444

4545
function autoWebstayInit (config) {
4646
if (config.autoHeatmap === true && config.autoWebstay === true && config.isHybrid === false) {

src/configure/index.js

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,14 @@
55
* encrypt:数据加密模块
66
* visitor:可视化模块
77
* webstay:深度线采集模块
8-
* zh:招行模块
98
* heatmap:热图采集及展示模块
10-
* device:设备信息模块
119
* ua:上报ua模块
12-
* errorLog:校验失败上报$errorLog模块
1310
*/
1411
import * as base from './base/index.js'
15-
// import * as encrypt from './customized/encrypt/index.js'
1612
import * as visitor from './customized/visual/index.js'
1713
import * as webstay from './customized/webstay/index.js'
18-
// import * as zh from './customized/zh/index.js'
1914
import * as heatmap from './customized/heatmap/index.js'
2015
import * as ua from './customized/UA/index.js'
21-
// import * as device from './customized/parseUA/index.js'
22-
// import * as errorLog from './customized/errorLog/index.js'
23-
// import * as hybrid from './customized/hybrid/index.js'
24-
// import * as nps from './customized/nps/index.js'
2516
import * as userClick from './customized/userClick/index.js'
2617
import Util from '../lib/common/index.js'
2718

src/lib/baseConfig/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ export default {
1010
autoWebstay: true, // 自动采集访问深度
1111
singlePage: true, // 自动采集单页面应用
1212
pageProperty: {}, // 自动采集页面打开时页面自定义属性
13-
$lib_version: '4.4.3', // sdk版本号
13+
$lib_version: '4.4.4', // sdk版本号
1414
cross_subdomain: true, // 跨子域存储cookie
1515
cross_subdomain_super: true, // 同步跨子域存储cookie时 同步通用属性
16-
allowTimeCheck: true, // ajax上报日志 开启时间校准
16+
allowTimeCheck: false, // ajax上报日志 开启时间校准
1717
isMessageSDK: false,
1818
isHybrid: false
1919
},

0 commit comments

Comments
 (0)