costway-tracking-v2 2.0.10 → 2.0.12

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/index.cjs CHANGED
@@ -394,9 +394,9 @@ function trackResourceLoadTimes() {
394
394
  function setupRouterListener(router) {
395
395
  router.beforeEach((to, from, next) => {
396
396
  if (from.name) {
397
- console.log("路由对象 离开页面了 ===start")
397
+ // console.log("路由对象 离开页面了 ===start")
398
398
  trackPageLeave("setupRouterListener");
399
- console.log("路由对象 离开页面了 ====end")
399
+ // console.log("路由对象 离开页面了 ====end")
400
400
  }
401
401
  hasTrackedPageLeave = ""; // 重置标志
402
402
  next();
@@ -414,63 +414,62 @@ function setupRouterListener(router) {
414
414
  let lastVisibilityState = isBrowser() ? document.visibilityState : "";
415
415
  let pageHiddenTime = null;
416
416
  let pageVisibleTime = null;
417
+ const app = typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().includes("costway-app");
417
418
  module.exports = {
418
419
  initTracking: function (router) {
419
420
  // 如果 UA 里包含 costway-app
420
- const app = typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().includes("costway-app");
421
421
 
422
422
  let userId = getuserId();
423
423
  if (!userId) {
424
424
  userId = generateUUID();
425
425
  setuserId(userId);
426
- }
427
- trackPageView();
428
- // !app && trackPageView();
426
+ }
427
+ !app && trackPageView();
429
428
  //trackPageLoadTime();
430
429
  // trackResourceLoadTimes();
431
430
  document.addEventListener('click', trackClick);
432
431
 
433
432
  if(!app){
434
- }
435
- document.addEventListener('visibilitychange', function () {
436
- if (lastVisibilityState) {
437
- if (document.visibilityState === 'hidden' || document.hidden) {
438
- console.log('hidden');
439
- // 页面从可见变为不可见,记录时间
440
- pageHiddenTime = new Date().getTime();
441
- const visibleDuration = new Date().getTime() - pageVisibleTime;
442
- if (hasTrackedPageLeave == "" || hasTrackedPageLeave == "hidden") {
443
- hasTrackedPageLeave = "hidden";
444
- trackPageLeave('hidden');
433
+ document.addEventListener('visibilitychange', function () {
434
+ if (lastVisibilityState) {
435
+ if (document.visibilityState === 'hidden' || document.hidden) {
436
+ // console.log('hidden');
437
+ // 页面从可见变为不可见,记录时间
438
+ pageHiddenTime = new Date().getTime();
439
+ const visibleDuration = new Date().getTime() - pageVisibleTime;
440
+ if (hasTrackedPageLeave == "" || hasTrackedPageLeave == "hidden") {
441
+ hasTrackedPageLeave = "hidden";
442
+ trackPageLeave('hidden');
443
+ }
444
+ } else if (document.visibilityState === 'visible' && pageHiddenTime) {
445
+ // 页面从不可见变为可见,计算隐藏的时长
446
+ const hiddenDuration = new Date().getTime() - pageHiddenTime;
447
+ pageHiddenTime = null;
448
+ pageVisibleTime = new Date().getTime();
449
+ // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
450
+ if (hiddenDuration > 30000) {
451
+ trackPageLeave("visible");
452
+ }
453
+ // 触发 pageView 事件
454
+ trackPageView();
445
455
  }
446
- } else if (document.visibilityState === 'visible' && pageHiddenTime) {
447
- // 页面从不可见变为可见,计算隐藏的时长
448
- const hiddenDuration = new Date().getTime() - pageHiddenTime;
449
- pageHiddenTime = null;
450
- pageVisibleTime = new Date().getTime();
451
- // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
452
- if (hiddenDuration > 30000) {
453
- trackPageLeave("visible");
454
- }
455
- // 触发 pageView 事件
456
- trackPageView();
457
456
  }
458
- }
459
- lastVisibilityState = document.visibilityState;
460
- });
461
- window.addEventListener('pagehide', function () {
462
- console.log('pagehide');
463
- if (hasTrackedPageLeave == "pagehide") {
464
- hasTrackedPageLeave = "pagehide";
465
- trackPageLeave('pagehide');
466
- }
467
-
468
- });
469
- window.addEventListener('DOMContentLoaded', function () {
470
- observeDomChanges();
471
- observeClassChanges();
472
- });
473
- window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0); });
457
+ lastVisibilityState = document.visibilityState;
458
+ });
459
+ window.addEventListener('pagehide', function () {
460
+ // console.log('pagehide');
461
+ if (hasTrackedPageLeave == "pagehide") {
462
+ hasTrackedPageLeave = "pagehide";
463
+ trackPageLeave('pagehide');
464
+ }
465
+
466
+ });
467
+ window.addEventListener('DOMContentLoaded', function () {
468
+ observeDomChanges();
469
+ observeClassChanges();
470
+ });
471
+ window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0); });
472
+ }
474
473
 
475
474
  registerErrorListener();
476
475
 
@@ -479,7 +478,7 @@ module.exports = {
479
478
  }
480
479
  },
481
480
  trackCustomEvent: function (eventName, eventData) {
482
- console.log(eventName)
481
+ // console.log(eventName)
483
482
  const data = {
484
483
  userId: getuserId(),
485
484
  timestamp: new Date().getTime(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "costway-tracking-v2",
3
- "version": "2.0.10",
3
+ "version": "2.0.12",
4
4
  "description": "统计代码,新增vue3和vue2分别管理版本-增加多国家",
5
5
  "main": "index.cjs",
6
6
  "type": "module",
package/tracking.js CHANGED
@@ -414,56 +414,60 @@
414
414
  let lastVisibilityState = document.visibilityState;
415
415
  let pageHiddenTime = null;
416
416
  let pageVisibleTime = null;
417
+ const app = typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().includes("costway-app");
417
418
  function init() {
418
419
  let userId = getuserId();
419
420
  if (!userId) {
420
421
  userId = generateUUID();
421
422
  setuserId(userId);
422
423
  }
423
- trackPageView();
424
+ !app && trackPageView();
424
425
  // trackPageLoadTime();
425
426
  // trackResourceLoadTimes();
426
427
  document.addEventListener('click', trackClick);
427
428
 
428
- document.addEventListener('visibilitychange', function () {
429
- if (lastVisibilityState) {
430
- if (document.visibilityState === 'hidden' || document.hidden) {
431
- console.log('hidden');
432
- // 页面从可见变为不可见,记录时间
433
- pageHiddenTime = new Date().getTime();
434
- const visibleDuration = new Date().getTime() - pageVisibleTime;
435
- if(hasTrackedPageLeave=="" || hasTrackedPageLeave=="hidden"){
436
- hasTrackedPageLeave = "hidden";
437
- trackPageLeave('hidden');
429
+ if(!app){
430
+ document.addEventListener('visibilitychange', function () {
431
+ if (lastVisibilityState) {
432
+ if (document.visibilityState === 'hidden' || document.hidden) {
433
+ // console.log('hidden');
434
+ // 页面从可见变为不可见,记录时间
435
+ pageHiddenTime = new Date().getTime();
436
+ const visibleDuration = new Date().getTime() - pageVisibleTime;
437
+ if(hasTrackedPageLeave=="" || hasTrackedPageLeave=="hidden"){
438
+ hasTrackedPageLeave = "hidden";
439
+ trackPageLeave('hidden');
440
+ }
441
+ } else if (document.visibilityState === 'visible' && pageHiddenTime) {
442
+ // 页面从不可见变为可见,计算隐藏的时长
443
+ const hiddenDuration = new Date().getTime() - pageHiddenTime;
444
+ pageHiddenTime = null;
445
+ pageVisibleTime = new Date().getTime();
446
+ // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
447
+ if (hiddenDuration > 30000) {
448
+ trackPageLeave("visible");
449
+ }
450
+ // 触发 pageView 事件
451
+ trackPageView();
438
452
  }
439
- } else if (document.visibilityState === 'visible' && pageHiddenTime) {
440
- // 页面从不可见变为可见,计算隐藏的时长
441
- const hiddenDuration = new Date().getTime() - pageHiddenTime;
442
- pageHiddenTime = null;
443
- pageVisibleTime = new Date().getTime();
444
- // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
445
- if (hiddenDuration > 30000) {
446
- trackPageLeave("visible");
447
- }
448
- // 触发 pageView 事件
449
- trackPageView();
450
453
  }
451
- }
452
- lastVisibilityState = document.visibilityState;
453
- });
454
- window.addEventListener('pagehide', function () {
455
- console.log('pagehide');
456
- if (hasTrackedPageLeave == "pagehide") {
457
- hasTrackedPageLeave = "pagehide";
458
- trackPageLeave('pagehide');
459
- }
460
-
461
- });
462
- window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0);});
463
- window.addEventListener('DOMContentLoaded', function () {
464
- observeDomChanges();
465
- observeClassChanges();
466
- });
454
+ lastVisibilityState = document.visibilityState;
455
+ });
456
+ window.addEventListener('pagehide', function () {
457
+ // console.log('pagehide');
458
+ if (hasTrackedPageLeave == "pagehide") {
459
+ hasTrackedPageLeave = "pagehide";
460
+ trackPageLeave('pagehide');
461
+ }
462
+
463
+ });
464
+ window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0);});
465
+ window.addEventListener('DOMContentLoaded', function () {
466
+ observeDomChanges();
467
+ observeClassChanges();
468
+ });
469
+ }
470
+
467
471
  registerErrorListener();
468
472
  }
469
473
 
package/trackvue3.js CHANGED
@@ -425,7 +425,7 @@ function setupRouterListener(router) {
425
425
  hasTrackedPageLeave = false;
426
426
  const fromFullURL = `${window.location.protocol}//${window.location.hostname}${from.fullPath}`;
427
427
  const toFullURL = `${window.location.protocol}//${window.location.hostname}${to.fullPath}`;
428
- console.log('从', fromFullURL, '跳转到', toFullURL);
428
+ // console.log('从', fromFullURL, '跳转到', toFullURL);
429
429
  lastRoute = currentRoute;
430
430
  currentRoute = toFullURL;
431
431
  simulatedReferrer = fromFullURL; // 更新模拟的referrer为当前页面的完整URL
@@ -446,6 +446,7 @@ let lastVisibilityState = isBrowser() ? document.visibilityState : null;
446
446
  let pageHiddenTime = null;
447
447
  let pageVisibleTime = null;
448
448
  let initURL = isBrowser() ? window.location.href : '';
449
+ const app = typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().includes("costway-app");
449
450
  function initTracking(router) {
450
451
  if (!isBrowser()) {
451
452
  return; // 如果不在浏览器环境中,则直接返回
@@ -458,40 +459,42 @@ function initTracking(router) {
458
459
  }
459
460
  simulatedReferrer = isBrowser() ? (document.referrer || window.location.href) : '';
460
461
 
461
- trackPageView(initURL);
462
+ !app && trackPageView(initURL);
462
463
  // trackPageLoadTime();
463
464
  //trackResourceLoadTimes();
464
465
  if (isBrowser()) {
465
466
  document.addEventListener('click', trackClick);
466
467
 
467
- document.addEventListener('visibilitychange', function () {
468
- if (document.visibilityState === 'hidden') {
469
- // 页面从可见变为不可见,记录时间
470
- pageHiddenTime = new Date().getTime();
471
- const visibleDuration = new Date().getTime() - pageVisibleTime;
472
- trackPageLeave();
473
-
474
- } else if (document.visibilityState === 'visible' && pageHiddenTime) {
475
- // 页面从不可见变为可见,计算隐藏的时长
476
- const hiddenDuration = new Date().getTime() - pageHiddenTime;
477
- pageHiddenTime = null;
478
- pageVisibleTime = new Date().getTime();
479
- // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
480
- if (hiddenDuration > 30000) {
468
+ if(!app){
469
+ document.addEventListener('visibilitychange', function () {
470
+ if (document.visibilityState === 'hidden') {
471
+ // 页面从可见变为不可见,记录时间
472
+ pageHiddenTime = new Date().getTime();
473
+ const visibleDuration = new Date().getTime() - pageVisibleTime;
481
474
  trackPageLeave();
475
+
476
+ } else if (document.visibilityState === 'visible' && pageHiddenTime) {
477
+ // 页面从不可见变为可见,计算隐藏的时长
478
+ const hiddenDuration = new Date().getTime() - pageHiddenTime;
479
+ pageHiddenTime = null;
480
+ pageVisibleTime = new Date().getTime();
481
+ // 如果页面隐藏的时长超过一定阈值(例如30秒),则认为用户已离开页面
482
+ if (hiddenDuration > 30000) {
483
+ trackPageLeave();
484
+ }
485
+ // 触发 pageView 事件
486
+ trackPageView();
482
487
  }
483
- // 触发 pageView 事件
484
- trackPageView();
485
- }
486
- });
487
-
488
- //window.addEventListener('beforeunload', trackPageLeave);
489
- window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0); });
490
- window.addEventListener('pagehide', trackPageLeave);
491
- window.addEventListener('DOMContentLoaded', function () {
492
- observeDomChanges();
493
- observeClassChanges();
494
- });
488
+ });
489
+
490
+ //window.addEventListener('beforeunload', trackPageLeave);
491
+ window.addEventListener('load', function () { setTimeout(trackPageLoadTime, 0); });
492
+ window.addEventListener('pagehide', trackPageLeave);
493
+ window.addEventListener('DOMContentLoaded', function () {
494
+ observeDomChanges();
495
+ observeClassChanges();
496
+ });
497
+ }
495
498
  registerErrorListener();
496
499
  console.log('Configured country:', config.country);
497
500
  if (router) { // 如果提供了路由对象,则设置路由监听器