Greasy Fork is available in English.
A Simple helper library for wait document load
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/373524/639009/Simple%20Wait%20For%20Document%20Helper.js
/**
* Simple Wait For Document Helper
* by Jixun<https://jixun.moe/>
*/
var waitForDocument = (function () {
var callbackQueue = []
var ready = false
function waitForDocument(callback) {
if (ready) {
requestAnimationFrame(callback)
return
}
callbackQueue.push(callback)
}
function triggerCallbackQueue() {
if (ready === true) {
// Already processed
return
}
ready = true
// process callback queue
callbackQueue.forEach(requestAnimationFrame)
callbackQueue = null
// remove those listeners
document.removeEventListener('DOMContentLoaded', triggerCallbackQueue)
document.removeEventListener('load', triggerCallbackQueue)
}
// listen for document loaded events
document.addEventListener('DOMContentLoaded', triggerCallbackQueue)
document.addEventListener('load', triggerCallbackQueue)
// check if document is ready yet
if (['interactive', 'complete'].indexOf(document.readyState) !== -1) {
triggerCallbackQueue()
}
return waitForDocument
})()