From 0ebea1626315bbe892cef92bbb7b4fe340233c4d Mon Sep 17 00:00:00 2001 From: andygout Date: Tue, 4 Feb 2020 11:26:35 +0000 Subject: [PATCH] =?UTF-8?q?Add=20ready-state=20dependency=20=F0=9F=90=BF?= =?UTF-8?q?=20v2.12.5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../real-user-performance/documentReady.js | 15 --------------- .../trackers/realUserMonitoringForPerformance.js | 4 ++-- 3 files changed, 3 insertions(+), 17 deletions(-) delete mode 100644 src/client/trackers/real-user-performance/documentReady.js diff --git a/package.json b/package.json index 8145e3a..17d456f 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@financial-times/o-tracking": "^2.0.3", "@financial-times/o-viewport": "^4.0.0", "perfume.js": "^4.6.0", + "ready-state": "^2.0.5", "seed-random": "^2.2.0" }, "peerDependencies": { diff --git a/src/client/trackers/real-user-performance/documentReady.js b/src/client/trackers/real-user-performance/documentReady.js deleted file mode 100644 index 0f302a5..0000000 --- a/src/client/trackers/real-user-performance/documentReady.js +++ /dev/null @@ -1,15 +0,0 @@ -export const isReady = () => document.readyState === 'complete'; - -export const documentReady = () => { - return new Promise((resolve) => { - if (isReady()) { - resolve(); - } else { - document.addEventListener('readystatechange', () => { - if (isReady()) { - resolve(); - } - }); - } - }); -}; diff --git a/src/client/trackers/realUserMonitoringForPerformance.js b/src/client/trackers/realUserMonitoringForPerformance.js index 751d2a0..5642eb2 100644 --- a/src/client/trackers/realUserMonitoringForPerformance.js +++ b/src/client/trackers/realUserMonitoringForPerformance.js @@ -1,8 +1,8 @@ import Perfume from 'perfume.js'; +import readyState from 'ready-state'; import { broadcast } from '../broadcast'; import { seedIsInSample } from '../utils/seedIsInSample'; import { getSpoorId } from '../utils/getSpoorId'; -import { documentReady } from './real-user-performance/documentReady'; // @see "Important metrics to measure" https://web.dev/metrics const requiredMetrics = [ @@ -39,7 +39,7 @@ export const realUserMonitoringForPerformance = () => { const context = {}; - documentReady.then(() => { + readyState.complete.then(() => { // context.domInteractive = Math.round(navigation.domInteractive); //