Kind of a lot of words for using Async, Defer, or IntersectionObserver. But this is a weird case of using IntersectionObserver. I'd rather use it for something like lazy-loading images[1]. They have a much higher download cost and will provide a much greater boost in performance than optimizing your JavaScript. Also, by placing all of your scripts at the bottom (save for a few at the top like Modernizr), you really don't need to worry too much about async vs defer.<p>[1] <a href="https://www.machmetrics.com/speed-blog/how-to-lazy-loading-images-script-slash-page-load-time/" rel="nofollow">https://www.machmetrics.com/speed-blog/how-to-lazy-loading-i...</a>
> <i>If this is too many words, the pretty picture below should help clear things up.</i><p>Holy crap, I knew big G hates users but this level on condescension is off the charts!