Something went wrong on our end
Select Git revision
-
Volker Schukai authoredVolker Schukai authored
ready.mjs 2.46 KiB
/**
* Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
* Node module: @schukai/monster
*
* This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
* The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
*
* For those who do not wish to adhere to the AGPLv3, a commercial license is available.
* Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
* For more information about purchasing a commercial license, please contact schukai GmbH.
*
* SPDX-License-Identifier: AGPL-3.0
*/
import { getDocument, getWindow } from "./util.mjs";
export { domReady, windowReady };
/**
* This variable is a promise fulfilled as soon as the dom is available.
*
* The DOMContentLoaded event is fired when the original HTML document is fully loaded and parsed
* without waiting for stylesheets, images, and subframes to finish loading.
*
* document.readyState changes to interactive
* window's DOMContentLoaded event gets fired
* document.readyState changes to complete
* window's load event gets fired load
*
* @license AGPLv3
* @since 1.31.0
* @summary variable to check if dom is ready
* @type {Promise}
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState
*/
const domReady = new Promise((resolve) => {
const document = getDocument();
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", resolve);
} else {
resolve();
}
});
/**
* This variable is a promise is fulfilled as soon as the windows is available.
*
* The load event fires when the entire page is loaded, including all dependent resources such as stylesheets,
* assets, and images. Unlike DOMContentLoaded, which fires as soon as the DOM of the page is loaded,
* without waiting for the resources to finish loading.
*
* @license AGPLv3
* @since 1.31.0
* @summary variable to check if window is ready
* @type {Promise}
* @see https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event
* @see https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState
*/
const windowReady = new Promise((resolve) => {
const document = getDocument();
const window = getWindow();
if (document.readyState === "complete") {
resolve();
} else {
window.addEventListener("load", resolve);
}
});