UNPKG

document-ready-promise

Version:

A simple ES2015 Promise-based "document ready" event handler.

26 lines (21 loc) 674 B
(function (document, promise) { if (typeof module !== 'undefined') module.exports = promise else document.ready = promise })(window.document, function (chainVal) { 'use strict' var d = document, w = window, loaded = /^loaded|^i|^c/.test(d.readyState), DOMContentLoaded = 'DOMContentLoaded', load = 'load' return new Promise(function (resolve) { if (loaded) return resolve(chainVal) function onReady () { resolve(chainVal) d.removeEventListener(DOMContentLoaded, onReady) w.removeEventListener(load, onReady) } d.addEventListener(DOMContentLoaded, onReady) w.addEventListener(load, onReady) }) })