Skip to content

Instantly share code, notes, and snippets.

@besrabasant
Created February 24, 2020 23:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save besrabasant/331f750bb24eb0694f3157270a331f88 to your computer and use it in GitHub Desktop.
Save besrabasant/331f750bb24eb0694f3157270a331f88 to your computer and use it in GitHub Desktop.
On DOM Ready function
var domLoadedPromise = null
export default function onDomReady(documentReadyCallback) {
if (!domLoadedPromise) {
const readyReg = /complete|loaded|interactive/
domLoadedPromise = new Promise(function (resolve) {
if (readyReg.test(document.readyState) && document.body) {
resolve()
} else {
document.addEventListener('DOMContentLoaded', function onDomLoaded() {
document.removeEventListener('DOMContentLoaded', onDomLoaded, false)
resolve()
}, false)
}
})
}
if (documentReadyCallback) {
domLoadedPromise.then(documentReadyCallback)
}
return domLoadedPromise
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment