monitor-track 1.12.1 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,24 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.13.0](https://gitlab.seazonmotor.com/panda/CSD_UserBehaviorTracking/compare/monitor-track@1.12.1...monitor-track@1.13.0) (2026-05-22)
7
+
8
+
9
+ ### ✨ Features
10
+
11
+ * 增加对页面卡顿的启用配置 ([28cd08c](https://gitlab.seazonmotor.com/panda/CSD_UserBehaviorTracking/commit/28cd08c975b003f791e02283cbee59167b054afa))
12
+
13
+
14
+
15
+ ### [1.12.1](https://gitlab.seazonmotor.com/panda/CSD_UserBehaviorTracking/compare/monitor-track@1.12.0...monitor-track@1.12.1) (2026-05-22)
16
+
17
+
18
+ ### 🐛 Bug Fixes
19
+
20
+ * 修复类型报错 ([460be3e](https://gitlab.seazonmotor.com/panda/CSD_UserBehaviorTracking/commit/460be3e82a782964e056693862ded6a25c8220a5))
21
+
22
+
23
+
6
24
  ## 1.12.0 (2026-05-06)
7
25
 
8
26
 
package/README.md CHANGED
@@ -43,8 +43,13 @@ track.init({
43
43
  | hash | boolean | 否 | false | 路由是否为 hash 模式 |
44
44
  | enableBehavior | boolean | 否 | true | 启用用户行为上报 |
45
45
  | enableError | boolean | 否 | true | 启用异常信息上报 |
46
+ | enableErrorScreenshot | boolean | 否 | false | 启用异常时的截图上报 |
47
+ | enableErrorEvent | boolean | 否 | false | 启用异常时的录像上报 |
46
48
  | enableVisualTrack | boolean | 否 | false | 启用可视化埋点上报 |
47
- | ignore | 见下方 ignore | 否 | false | 忽略上报的信息 |
49
+ | enableLagTrack | boolean | 否 | false | 启用页面卡顿信息上报 |
50
+ | lagTimeout | number | 否 | 400 | 页面卡顿上报的阈值时间(毫秒) |
51
+ | enableRecord | boolean | 否 | false | 启用页面录制 |
52
+ | ignore | 见下方 ignore | 否 | false | 忽略上报的信息 |
48
53
  | customPayload | string | 否 | false | 自定义 payload |
49
54
  | enable | boolean | 否 | false | 是否开启日志收集,默认关闭 |
50
55
  | maxLength | number | 否 | 1000 | 最长上报数据长度 |
@@ -1,3 +1,4 @@
1
+ export declare function enableRecordFunc(): void;
1
2
  /**
2
3
  * @description 错误事件触发后的操作
3
4
  */
package/cjs/index.js CHANGED
@@ -44,7 +44,11 @@ const Config = {
44
44
  hash: false,
45
45
  enableBehavior: true,
46
46
  enableError: true,
47
+ enableErrorScreenshot: false,
48
+ enableErrorEvent: false,
47
49
  enableVisualTrack: false,
50
+ enableLagTrack: true,
51
+ enableRecord: false,
48
52
  ignore: {
49
53
  urls: [],
50
54
  errors: [],
@@ -56,27 +60,39 @@ const Config = {
56
60
  * @param config 配置项
57
61
  */
58
62
  function setConfig(config) {
63
+ var _a;
59
64
  Object.assign(Config, config);
65
+ if (!Config.ignore)
66
+ Config.ignore = {};
67
+ if (Array.isArray((_a = Config.ignore) === null || _a === void 0 ? void 0 : _a.errors)) {
68
+ ['ResizeObserver loop limit exceeded', 'ResizeObserver loop completed with undelivered notifications.', 'Cancel'].forEach((item) => {
69
+ if (!Config.ignore.errors.includes(item)) {
70
+ Config.ignore.errors.push(item);
71
+ }
72
+ });
73
+ }
60
74
  }
61
75
 
62
- var version = "1.12.1";
76
+ var version = "1.14.0";
63
77
 
64
78
  const eventsMatrix = [[]];
65
- rrweb__namespace.record({
66
- emit(event, isCheckout) {
67
- // isCheckout 是一个标识,告诉你重新制作了快照
68
- if (isCheckout) {
69
- eventsMatrix.push([]);
70
- }
71
- if (eventsMatrix.length > 2) {
72
- eventsMatrix.shift();
73
- }
74
- const lastEvents = eventsMatrix[eventsMatrix.length - 1];
75
- lastEvents.push(event);
76
- },
77
- // 每30秒重新制作快照
78
- checkoutEveryNms: 30 * 1000,
79
- });
79
+ function enableRecordFunc() {
80
+ rrweb__namespace.record({
81
+ emit(event, isCheckout) {
82
+ // isCheckout 是一个标识,告诉你重新制作了快照
83
+ if (isCheckout) {
84
+ eventsMatrix.push([]);
85
+ }
86
+ if (eventsMatrix.length > 2) {
87
+ eventsMatrix.shift();
88
+ }
89
+ const lastEvents = eventsMatrix[eventsMatrix.length - 1];
90
+ lastEvents.push(event);
91
+ },
92
+ // 30秒重新制作快照
93
+ checkoutEveryNms: 30 * 1000,
94
+ });
95
+ }
80
96
  /**
81
97
  * @description 错误事件触发后的操作
82
98
  */
@@ -902,7 +918,7 @@ function reportFunc(data) {
902
918
  delete ERROR_MESSAGE_MAP[message];
903
919
  }, 3000);
904
920
  const { p, pid, host, bN, pt } = payload;
905
- if ((_c = data.error) === null || _c === void 0 ? void 0 : _c.events) {
921
+ if (((_c = data.error) === null || _c === void 0 ? void 0 : _c.events) && Config.enableErrorEvent) {
906
922
  hasErrorEvent = true;
907
923
  const errorEvent = data.error.events;
908
924
  const delayTime = Math.ceil(Math.random() * 10000);
@@ -913,17 +929,19 @@ function reportFunc(data) {
913
929
  });
914
930
  }, delayTime < 3500 ? 3500 : delayTime);
915
931
  }
916
- picturePromise = getFullScreenShoot(filename)
917
- .then((file) => {
918
- return new Promise((res) => {
919
- xhrFunc(file.name, data.uuid, filename, file, res, (result) => {
920
- payload.error.pic = result;
921
- }, { p, pid, host, bN, pt });
932
+ if (Config.enableErrorScreenshot) {
933
+ picturePromise = getFullScreenShoot(filename)
934
+ .then((file) => {
935
+ return new Promise((res) => {
936
+ xhrFunc(file.name, data.uuid, filename, file, res, (result) => {
937
+ payload.error.pic = result;
938
+ }, { p, pid, host, bN, pt });
939
+ });
940
+ })
941
+ .catch((err) => {
942
+ payload.error.picError = (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString());
922
943
  });
923
- })
924
- .catch((err) => {
925
- payload.error.picError = (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString());
926
- });
944
+ }
927
945
  }
928
946
  }
929
947
  return picturePromise
@@ -1397,8 +1415,10 @@ class Track {
1397
1415
  this.listenPageLag = () => {
1398
1416
  this.observer = new PerformanceObserver((list) => {
1399
1417
  list.getEntries().forEach((entry) => {
1400
- if (entry.duration > 400) {
1418
+ if (entry.duration > (Config.lagTimeout || 800)) {
1401
1419
  handlePageLag(entry.duration);
1420
+ // eslint-disable-next-line no-console
1421
+ console.log('监测到页面卡顿:', entry.duration, entry, location.href);
1402
1422
  }
1403
1423
  });
1404
1424
  });
@@ -1433,8 +1453,9 @@ class Track {
1433
1453
  Config.spa && this.addListenRouterChange();
1434
1454
  Config.enableBehavior && this.addListenUserActivity();
1435
1455
  Config.enableError && this.addListenJSUncaught();
1436
- this.visualTrack();
1437
- this.listenPageLag();
1456
+ Config.enableVisualTrack && this.visualTrack();
1457
+ Config.enableLagTrack && this.listenPageLag();
1458
+ Config.enableRecord && enableRecordFunc();
1438
1459
  this.addListenUnload();
1439
1460
  initWindowObjectFunction();
1440
1461
  }
@@ -16,6 +16,10 @@ export interface IConfig {
16
16
  enableBehavior?: boolean;
17
17
  /** 启用异常信息上报 */
18
18
  enableError?: boolean;
19
+ /** 启用异常截图上报 */
20
+ enableErrorScreenshot?: boolean;
21
+ /** 启用异常录像上报 */
22
+ enableErrorEvent?: boolean;
19
23
  maxLength?: number;
20
24
  /** 忽略上报的信息 */
21
25
  ignore?: {
@@ -31,10 +35,16 @@ export interface IConfig {
31
35
  };
32
36
  /** 自定义payload */
33
37
  customPayload?: string;
34
- /** 上报 xhr 请求超过指定时间的请求地址 */
38
+ /** 上报 xhr 请求超过指定时间 */
35
39
  XMLHttpRequestTimeout?: number;
36
40
  /** 启用可视化埋点 */
37
41
  enableVisualTrack?: boolean;
42
+ /** 启用页面卡顿上报 */
43
+ enableLagTrack?: boolean;
44
+ /** 上报页面卡顿的超时时间 */
45
+ lagTimeout?: number;
46
+ /** 是否启用页面录制 */
47
+ enableRecord: boolean;
38
48
  }
39
49
  type IParams = {
40
50
  name: string;
@@ -10,7 +10,11 @@ const Config = {
10
10
  hash: false,
11
11
  enableBehavior: true,
12
12
  enableError: true,
13
+ enableErrorScreenshot: false,
14
+ enableErrorEvent: false,
13
15
  enableVisualTrack: false,
16
+ enableLagTrack: true,
17
+ enableRecord: false,
14
18
  ignore: {
15
19
  urls: [],
16
20
  errors: [],
@@ -22,7 +26,17 @@ const Config = {
22
26
  * @param config 配置项
23
27
  */
24
28
  function setConfig(config) {
29
+ var _a;
25
30
  Object.assign(Config, config);
31
+ if (!Config.ignore)
32
+ Config.ignore = {};
33
+ if (Array.isArray((_a = Config.ignore) === null || _a === void 0 ? void 0 : _a.errors)) {
34
+ ['ResizeObserver loop limit exceeded', 'ResizeObserver loop completed with undelivered notifications.', 'Cancel'].forEach((item) => {
35
+ if (!Config.ignore.errors.includes(item)) {
36
+ Config.ignore.errors.push(item);
37
+ }
38
+ });
39
+ }
26
40
  }
27
41
 
28
42
  export { Config, setConfig };
@@ -1,3 +1,4 @@
1
+ export declare function enableRecordFunc(): void;
1
2
  /**
2
3
  * @description 错误事件触发后的操作
3
4
  */
@@ -7,21 +7,23 @@ import { setReportValue, getReport } from '../config/global.js';
7
7
  import { report } from '../reporter.js';
8
8
 
9
9
  const eventsMatrix = [[]];
10
- rrweb.record({
11
- emit(event, isCheckout) {
12
- // isCheckout 是一个标识,告诉你重新制作了快照
13
- if (isCheckout) {
14
- eventsMatrix.push([]);
15
- }
16
- if (eventsMatrix.length > 2) {
17
- eventsMatrix.shift();
18
- }
19
- const lastEvents = eventsMatrix[eventsMatrix.length - 1];
20
- lastEvents.push(event);
21
- },
22
- // 每30秒重新制作快照
23
- checkoutEveryNms: 30 * 1000,
24
- });
10
+ function enableRecordFunc() {
11
+ rrweb.record({
12
+ emit(event, isCheckout) {
13
+ // isCheckout 是一个标识,告诉你重新制作了快照
14
+ if (isCheckout) {
15
+ eventsMatrix.push([]);
16
+ }
17
+ if (eventsMatrix.length > 2) {
18
+ eventsMatrix.shift();
19
+ }
20
+ const lastEvents = eventsMatrix[eventsMatrix.length - 1];
21
+ lastEvents.push(event);
22
+ },
23
+ // 30秒重新制作快照
24
+ checkoutEveryNms: 30 * 1000,
25
+ });
26
+ }
25
27
  /**
26
28
  * @description 错误事件触发后的操作
27
29
  */
@@ -173,4 +175,4 @@ function getFullScreenShoot(filename) {
173
175
  });
174
176
  }
175
177
 
176
- export { getFullScreenShoot, getUserEvents, handleError, ignoreError, setCaughtError, setPromiseError, setResourceError };
178
+ export { enableRecordFunc, getFullScreenShoot, getUserEvents, handleError, ignoreError, setCaughtError, setPromiseError, setResourceError };
package/esm/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { setConfig, Config } from './config/index.js';
1
+ import { Config, setConfig } from './config/index.js';
2
2
  import { initReport, recordXMLHttpRequestLog, hackFetch } from './config/global.js';
3
3
  import { monitorTrackSessionId } from './constant.js';
4
4
  import { handlePageLag, _history, handleHistoryChange } from './handlers/pv.js';
5
- import { handleError } from './handlers/error.js';
5
+ import { enableRecordFunc, handleError } from './handlers/error.js';
6
6
  import { handleClick, handleBlur, handleScroll } from './handlers/user-activity.js';
7
7
  import { initWindowObjectFunction, on, off, visualTrackFunc, handleLocationChange } from './utils/index.js';
8
8
 
@@ -18,8 +18,10 @@ class Track {
18
18
  this.listenPageLag = () => {
19
19
  this.observer = new PerformanceObserver((list) => {
20
20
  list.getEntries().forEach((entry) => {
21
- if (entry.duration > 400) {
21
+ if (entry.duration > (Config.lagTimeout || 800)) {
22
22
  handlePageLag(entry.duration);
23
+ // eslint-disable-next-line no-console
24
+ console.log('监测到页面卡顿:', entry.duration, entry, location.href);
23
25
  }
24
26
  });
25
27
  });
@@ -54,8 +56,9 @@ class Track {
54
56
  Config.spa && this.addListenRouterChange();
55
57
  Config.enableBehavior && this.addListenUserActivity();
56
58
  Config.enableError && this.addListenJSUncaught();
57
- this.visualTrack();
58
- this.listenPageLag();
59
+ Config.enableVisualTrack && this.visualTrack();
60
+ Config.enableLagTrack && this.listenPageLag();
61
+ Config.enableRecord && enableRecordFunc();
59
62
  this.addListenUnload();
60
63
  initWindowObjectFunction();
61
64
  }
@@ -1,3 +1,3 @@
1
- var version = "1.12.1";
1
+ var version = "1.14.0";
2
2
 
3
3
  export { version };
package/esm/reporter.js CHANGED
@@ -256,7 +256,7 @@ function reportFunc(data) {
256
256
  delete ERROR_MESSAGE_MAP[message];
257
257
  }, 3000);
258
258
  const { p, pid, host, bN, pt } = payload;
259
- if ((_c = data.error) === null || _c === void 0 ? void 0 : _c.events) {
259
+ if (((_c = data.error) === null || _c === void 0 ? void 0 : _c.events) && Config.enableErrorEvent) {
260
260
  hasErrorEvent = true;
261
261
  const errorEvent = data.error.events;
262
262
  const delayTime = Math.ceil(Math.random() * 10000);
@@ -267,17 +267,19 @@ function reportFunc(data) {
267
267
  });
268
268
  }, delayTime < 3500 ? 3500 : delayTime);
269
269
  }
270
- picturePromise = getFullScreenShoot(filename)
271
- .then((file) => {
272
- return new Promise((res) => {
273
- xhrFunc(file.name, data.uuid, filename, file, res, (result) => {
274
- payload.error.pic = result;
275
- }, { p, pid, host, bN, pt });
270
+ if (Config.enableErrorScreenshot) {
271
+ picturePromise = getFullScreenShoot(filename)
272
+ .then((file) => {
273
+ return new Promise((res) => {
274
+ xhrFunc(file.name, data.uuid, filename, file, res, (result) => {
275
+ payload.error.pic = result;
276
+ }, { p, pid, host, bN, pt });
277
+ });
278
+ })
279
+ .catch((err) => {
280
+ payload.error.picError = (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString());
276
281
  });
277
- })
278
- .catch((err) => {
279
- payload.error.picError = (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString());
280
- });
282
+ }
281
283
  }
282
284
  }
283
285
  return picturePromise
@@ -16,6 +16,10 @@ export interface IConfig {
16
16
  enableBehavior?: boolean;
17
17
  /** 启用异常信息上报 */
18
18
  enableError?: boolean;
19
+ /** 启用异常截图上报 */
20
+ enableErrorScreenshot?: boolean;
21
+ /** 启用异常录像上报 */
22
+ enableErrorEvent?: boolean;
19
23
  maxLength?: number;
20
24
  /** 忽略上报的信息 */
21
25
  ignore?: {
@@ -31,10 +35,16 @@ export interface IConfig {
31
35
  };
32
36
  /** 自定义payload */
33
37
  customPayload?: string;
34
- /** 上报 xhr 请求超过指定时间的请求地址 */
38
+ /** 上报 xhr 请求超过指定时间 */
35
39
  XMLHttpRequestTimeout?: number;
36
40
  /** 启用可视化埋点 */
37
41
  enableVisualTrack?: boolean;
42
+ /** 启用页面卡顿上报 */
43
+ enableLagTrack?: boolean;
44
+ /** 上报页面卡顿的超时时间 */
45
+ lagTimeout?: number;
46
+ /** 是否启用页面录制 */
47
+ enableRecord: boolean;
38
48
  }
39
49
  type IParams = {
40
50
  name: string;
package/index.js CHANGED
@@ -38,7 +38,11 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
38
38
  hash: false,
39
39
  enableBehavior: true,
40
40
  enableError: true,
41
+ enableErrorScreenshot: false,
42
+ enableErrorEvent: false,
41
43
  enableVisualTrack: false,
44
+ enableLagTrack: true,
45
+ enableRecord: false,
42
46
  ignore: {
43
47
  urls: [],
44
48
  errors: [],
@@ -50,7 +54,17 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
50
54
  * @param config 配置项
51
55
  */
52
56
  function setConfig(config) {
57
+ var _a;
53
58
  Object.assign(Config, config);
59
+ if (!Config.ignore)
60
+ Config.ignore = {};
61
+ if (Array.isArray((_a = Config.ignore) === null || _a === void 0 ? void 0 : _a.errors)) {
62
+ ['ResizeObserver loop limit exceeded', 'ResizeObserver loop completed with undelivered notifications.', 'Cancel'].forEach(function (item) {
63
+ if (!Config.ignore.errors.includes(item)) {
64
+ Config.ignore.errors.push(item);
65
+ }
66
+ });
67
+ }
54
68
  }
55
69
 
56
70
  /******************************************************************************
@@ -122,24 +136,26 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
122
136
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
123
137
  };
124
138
 
125
- var version = "1.12.1";
139
+ var version = "1.14.0";
126
140
 
127
141
  var eventsMatrix = [[]];
128
- rrweb__namespace.record({
129
- emit: function (event, isCheckout) {
130
- // isCheckout 是一个标识,告诉你重新制作了快照
131
- if (isCheckout) {
132
- eventsMatrix.push([]);
133
- }
134
- if (eventsMatrix.length > 2) {
135
- eventsMatrix.shift();
136
- }
137
- var lastEvents = eventsMatrix[eventsMatrix.length - 1];
138
- lastEvents.push(event);
139
- },
140
- // 每30秒重新制作快照
141
- checkoutEveryNms: 30 * 1000
142
- });
142
+ function enableRecordFunc() {
143
+ rrweb__namespace.record({
144
+ emit: function (event, isCheckout) {
145
+ // isCheckout 是一个标识,告诉你重新制作了快照
146
+ if (isCheckout) {
147
+ eventsMatrix.push([]);
148
+ }
149
+ if (eventsMatrix.length > 2) {
150
+ eventsMatrix.shift();
151
+ }
152
+ var lastEvents = eventsMatrix[eventsMatrix.length - 1];
153
+ lastEvents.push(event);
154
+ },
155
+ // 30秒重新制作快照
156
+ checkoutEveryNms: 30 * 1000
157
+ });
158
+ }
143
159
  /**
144
160
  * @description 错误事件触发后的操作
145
161
  */
@@ -948,7 +964,7 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
948
964
  delete ERROR_MESSAGE_MAP[message_1];
949
965
  }, 3000);
950
966
  var p_1 = payload.p, pid_1 = payload.pid, host_1 = payload.host, bN_1 = payload.bN, pt_1 = payload.pt;
951
- if ((_c = data.error) === null || _c === void 0 ? void 0 : _c.events) {
967
+ if (((_c = data.error) === null || _c === void 0 ? void 0 : _c.events) && Config.enableErrorEvent) {
952
968
  hasErrorEvent = true;
953
969
  var errorEvent_1 = data.error.events;
954
970
  var delayTime = Math.ceil(Math.random() * 10000);
@@ -959,16 +975,18 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
959
975
  });
960
976
  }, delayTime < 3500 ? 3500 : delayTime);
961
977
  }
962
- picturePromise = getFullScreenShoot(filename)
963
- .then(function (file) {
964
- return new Promise(function (res) {
965
- xhrFunc(file.name, data.uuid, filename, file, res, function (result) {
966
- payload.error.pic = result;
967
- }, { p: p_1, pid: pid_1, host: host_1, bN: bN_1, pt: pt_1 });
978
+ if (Config.enableErrorScreenshot) {
979
+ picturePromise = getFullScreenShoot(filename)
980
+ .then(function (file) {
981
+ return new Promise(function (res) {
982
+ xhrFunc(file.name, data.uuid, filename, file, res, function (result) {
983
+ payload.error.pic = result;
984
+ }, { p: p_1, pid: pid_1, host: host_1, bN: bN_1, pt: pt_1 });
985
+ });
986
+ })["catch"](function (err) {
987
+ payload.error.picError = (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString());
968
988
  });
969
- })["catch"](function (err) {
970
- payload.error.picError = (err === null || err === void 0 ? void 0 : err.stack) || (err === null || err === void 0 ? void 0 : err.toString());
971
- });
989
+ }
972
990
  }
973
991
  }
974
992
  return picturePromise
@@ -1449,8 +1467,10 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
1449
1467
  this.listenPageLag = function () {
1450
1468
  _this.observer = new PerformanceObserver(function (list) {
1451
1469
  list.getEntries().forEach(function (entry) {
1452
- if (entry.duration > 400) {
1470
+ if (entry.duration > (Config.lagTimeout || 800)) {
1453
1471
  handlePageLag(entry.duration);
1472
+ // eslint-disable-next-line no-console
1473
+ console.log('监测到页面卡顿:', entry.duration, entry, location.href);
1454
1474
  }
1455
1475
  });
1456
1476
  });
@@ -1485,8 +1505,9 @@ var MonitorTrack = (function (uuid, ErrorStackParser, html2canvas, rrweb, axios,
1485
1505
  Config.spa && this.addListenRouterChange();
1486
1506
  Config.enableBehavior && this.addListenUserActivity();
1487
1507
  Config.enableError && this.addListenJSUncaught();
1488
- this.visualTrack();
1489
- this.listenPageLag();
1508
+ Config.enableVisualTrack && this.visualTrack();
1509
+ Config.enableLagTrack && this.listenPageLag();
1510
+ Config.enableRecord && enableRecordFunc();
1490
1511
  this.addListenUnload();
1491
1512
  initWindowObjectFunction();
1492
1513
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monitor-track",
3
- "version": "1.12.1",
3
+ "version": "1.14.0",
4
4
  "description": "前端监控及埋点SDK工具javascript版本",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",