2022-10-28 20:18:56 +00:00
|
|
|
/**
|
|
|
|
* Returns a promise that resolves when the page DOM has been loaded.
|
|
|
|
* @returns {Promise<void>}
|
|
|
|
*/
|
|
|
|
export function waitForLoad() {
|
2022-11-10 18:13:24 +00:00
|
|
|
return new Promise((resolve) => {
|
2022-10-28 20:18:56 +00:00
|
|
|
// If already loaded, fire immediately
|
|
|
|
if (/complete|interactive|loaded/.test(document.readyState)) {
|
|
|
|
resolve();
|
2022-11-10 18:13:24 +00:00
|
|
|
} else {
|
|
|
|
document.addEventListener("DOMContentLoaded", resolve);
|
2022-10-28 20:18:56 +00:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|