Skip to content

Instantly share code, notes, and snippets.

@Venipa
Created January 1, 2022 23:51
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 Venipa/e494515c58a5f91a41776cace2fd3226 to your computer and use it in GitHub Desktop.
Save Venipa/e494515c58a5f91a41776cace2fd3226 to your computer and use it in GitHub Desktop.
const ensureDomLoaded = (f) => {
if (["interactive", "complete"].indexOf(document.readyState) > -1) {
f();
} else {
let triggered = false;
document.addEventListener("DOMContentLoaded", () => {
if (!triggered) {
triggered = true;
setTimeout(f, 1);
}
});
}
};
const awaitElement = (q, f) =>
ensureDomLoaded(() => {
let t = setInterval(() => {
let e = document.querySelector(q);
if (e) {
f(e);
clearInterval(t);
}
}, 10);
setInterval(() => clearInterval(t), 30000);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment