More recently I’ve been playing around with heading in the other direction: when things break, I try blocking first-party JavaScript instead. This has often been successful, so that I’m considering disabling all JS by default and only turning it on when needed.
All this definitely speeds things up. I installed NoScript on my fairly slow phone (Firefox for Android) a month ago, which I don’t use for much, but do a little web reading on sometimes. Disabling JS definitely sped things up a lot.
A few sites do stupid things like visually hiding all content if you don’t have JS. Those I don’t use, use reader mode or once or twice have added a user stylesheet for if I’m going to touch them more than once but decide not to whitelist them for probably capricious reasons.
But this disabling-JS lark is definitely not for the consumer.
Google also uses this trick in search results if I remember correctly.
This is a bad technique. If you really want that effect, something friendlier would be this in the head of the document:
<script>document.documentElement.className+=' js'</script>
… then prefix that earlier selector with `.js`.Or another approach: remove the `opacity: 0` from the stylesheet, and immediately inside the element to be hidden while loading, add
<script>document.currentScript.parentNode.style.opacity=0</script>
Remember that external JS is never guaranteed to load; even on normal people’s computers, networks are not reliable and even first-party resources can fail to load, though it’s ones on a different origin that are the least reliable.Chrome even has (what I consider) a great interface for minimally controlling JavaScript and cookies, by placing an icon on the omnibar when either are blocked, letting you enable them on a per-site basis.