Substack: force lazy-load all images
Sets loading="lazy" and a lower fetch priority on every image, saving bandwidth in image-heavy posts.
Code to copy
// Force lazy-loading on every image to save bandwidth on image-heavy posts
(function () {
function patch() {
document.querySelectorAll('img').forEach(function (img) {
if (img.dataset.jzLazy) { return; }
img.dataset.jzLazy = '1';
try {
img.loading = 'lazy';
img.decoding = 'async';
if (img.fetchPriority && img.fetchPriority !== 'low') { img.fetchPriority = 'low'; }
} catch (e) {}
});
}
patch();
var obs = new MutationObserver(function () {
clearTimeout(window.__jzSubLazy);
window.__jzSubLazy = setTimeout(patch, 300);
});
obs.observe(document.body, { childList: true, subtree: true });
})();
How to use this example
- Copy the code with the button above.
- Install JustZix (2 minutes) and open the extension on the target page.
- Add a new rule matching that page.
- Paste the code into the rule's JavaScript panel and save — it runs on every page visit.
Rate this example
No ratings yet — be the first.