Greasy Fork is available in English.

Simple Wait For Document Helper

A Simple helper library for wait document load

このスクリプトは単体で利用できません。右のようなメタデータを含むスクリプトから、ライブラリとして読み込まれます: // @require https://update.greatest.deepsurf.us/scripts/373524/639009/Simple%20Wait%20For%20Document%20Helper.js

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
  1. /**
  2. * Simple Wait For Document Helper
  3. * by Jixun<https://jixun.moe/>
  4. */
  5. var waitForDocument = (function () {
  6. var callbackQueue = []
  7. var ready = false
  8.  
  9. function waitForDocument(callback) {
  10. if (ready) {
  11. requestAnimationFrame(callback)
  12. return
  13. }
  14.  
  15. callbackQueue.push(callback)
  16. }
  17.  
  18. function triggerCallbackQueue() {
  19. if (ready === true) {
  20. // Already processed
  21. return
  22. }
  23.  
  24. ready = true
  25.  
  26. // process callback queue
  27. callbackQueue.forEach(requestAnimationFrame)
  28. callbackQueue = null
  29.  
  30. // remove those listeners
  31. document.removeEventListener('DOMContentLoaded', triggerCallbackQueue)
  32. document.removeEventListener('load', triggerCallbackQueue)
  33. }
  34.  
  35. // listen for document loaded events
  36. document.addEventListener('DOMContentLoaded', triggerCallbackQueue)
  37. document.addEventListener('load', triggerCallbackQueue)
  38.  
  39. // check if document is ready yet
  40. if (['interactive', 'complete'].indexOf(document.readyState) !== -1) {
  41. triggerCallbackQueue()
  42. }
  43.  
  44. return waitForDocument
  45. })()