From 2fae4bfc856689ce2c43829d0ba44fedbe2aed1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Allen=20Zhang=20=28=E5=BC=A0=E6=B6=9B=29?= Date: Thu, 31 Oct 2024 20:28:48 +0800 Subject: [PATCH] feat: update --- packages/canyon-platform/public/0.0.1/main.js | 69 ++++++++++--------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/packages/canyon-platform/public/0.0.1/main.js b/packages/canyon-platform/public/0.0.1/main.js index 644bec59..2e59cbd8 100644 --- a/packages/canyon-platform/public/0.0.1/main.js +++ b/packages/canyon-platform/public/0.0.1/main.js @@ -1,41 +1,44 @@ -if (window.__coverage__ && window.__canyon__analytics__dsn__) { - function collectCoverageData(timing) { - const data = { - coverage: JSON.stringify(Object.entries(window.__coverage__).map(([path, {b,f,s}]) => ({ - path, - b, - f, - s, - })).reduce((acc, {path, b, f, s}) => { - acc[path] = {b, f, s}; - return acc; - })), - canyonID:'canyon-platform-test1', - addInfo:{ - // 时机 - timing: timing, +setTimeout(()=>{ + if (window.__coverage__ && window.__canyon__analytics__dsn__) { + function collectCoverageData(timing) { + const data = { + coverage: JSON.stringify(Object.entries(window.__coverage__).map(([path, {b,f,s}]) => ({ + path, + b, + f, + s, + })).reduce((acc, {path, b, f, s}) => { + acc[path] = {b, f, s}; + return acc; + }, {})), + canyonID:'canyon-platform-test1', + addInfo:{ + // 时机 + timing: timing, + } } + navigator.sendBeacon( + window.__canyon__analytics__dsn__, + JSON.stringify(data), + ); } - navigator.sendBeacon( - window.__canyon__analytics__dsn__, - JSON.stringify(data), - ); - } // beforeunload 事件:当用户即将离开页面时触发 - window.addEventListener("beforeunload", () => { - collectCoverageData("beforeunload"); - }); + window.addEventListener("beforeunload", () => { + collectCoverageData("beforeunload"); + }); // unload 事件:在页面完全卸载前触发 - window.addEventListener("unload", () => { - collectCoverageData("unload"); - }); + window.addEventListener("unload", () => { + collectCoverageData("unload"); + }); // visibilitychange 事件:当页面变为不可见(如切换到其他标签页)时触发 - document.addEventListener("visibilitychange", () => { - if (document.visibilityState === "hidden") { - collectCoverageData("visibilitychange"); - } - }); -} + document.addEventListener("visibilitychange", () => { + if (document.visibilityState === "hidden") { + collectCoverageData("visibilitychange"); + } + }); + } + +},500)