Skip to content

Commit 30c7454

Browse files
authored
Merge pull request #47 from cloudflare/issue-44-check-if-document-object-before-using
Issue 44 - Check if document is defined before using
2 parents 987d903 + 4007768 commit 30c7454

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

src/engines/BandwidthEngine/BandwidthEngine.js

+20-7
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,12 @@ class BandwidthMeasurementEngine {
6464
this.#throttleMs = throttleMs;
6565
this.#estimatedServerTime = Math.max(0, estimatedServerTime);
6666

67-
document.addEventListener('visibilitychange', this.#handleVisibilityChange);
67+
if (typeof document !== 'undefined') {
68+
document.addEventListener(
69+
'visibilitychange',
70+
this.#handleVisibilityChange
71+
);
72+
}
6873
}
6974

7075
// Public attributes
@@ -90,9 +95,15 @@ class BandwidthMeasurementEngine {
9095
}
9196

9297
#handleVisibilityChange = () => {
93-
if (document.visibilityState === 'hidden') {
98+
if (
99+
typeof document !== 'undefined' &&
100+
document.visibilityState === 'hidden'
101+
) {
94102
this.pause();
95-
} else if (document.visibilityState === 'visible') {
103+
} else if (
104+
typeof document !== 'undefined' &&
105+
document.visibilityState === 'visible'
106+
) {
96107
this.play();
97108
}
98109
};
@@ -383,10 +394,12 @@ class BandwidthMeasurementEngine {
383394
}
384395

385396
deleteEventListener() {
386-
document.removeEventListener(
387-
'visibilitychange',
388-
this.#handleVisibilityChange
389-
);
397+
if (typeof document !== 'undefined') {
398+
document.removeEventListener(
399+
'visibilitychange',
400+
this.#handleVisibilityChange
401+
);
402+
}
390403
}
391404
}
392405

0 commit comments

Comments
 (0)