// ==UserScript== // @name Image Loader Placeholder Remover // @namespace blankie-scripts // @match http*://closeronline.co.uk/* // @match http*://www.indiatoday.in/* // @match http*://www.vice.com/* // @grant none // @version 1.1 // @author blankie // @run-at document-end // @description Removes image loading placeholders // ==/UserScript== // https://closeronline.co.uk // https://closeronline.co.uk/real-life/news/ever-used-excuses-documented-spreadsheet-man-used-expose-wife-s-lack-sex function closeronline() { for (element of document.querySelectorAll(".image-container")) { let imageElement = element.querySelector("img"); let loadingElement = element.querySelector(".image-loading"); if (imageElement === null || loadingElement === null) { continue; } if (imageElement.attributes["data-src"] === undefined || imageElement.attributes["data-src"].value.length <= 0) { continue; } let url = new URL(imageElement.attributes["data-src"].value, location); let dontAddLink = element.parentNode.tagName === "A"; if (!dontAddLink) { let newImageElement = imageElement.cloneNode(); newImageElement.src = url.href; newImageElement.style.opacity = 100; newImageElement.style.display = "block"; url.search = ""; let imageWrapper = document.createElement("a"); imageWrapper.href = url.href; imageWrapper.appendChild(newImageElement); imageElement.replaceWith(imageWrapper); } else { imageElement.src = url.href; imageElement.style.opacity = 100; imageElement.style.display = "block"; } loadingElement.remove(); } } // https://www.indiatoday.in // https://www.indiatoday.in/technology/news/story/vivo-v25-pro-launched-in-india-price-starts-from-rs-35-999-1988971-2022-08-17 function indiatoday() { for (element of document.querySelectorAll("img.lazyload")) { if (element.attributes["data-src"] === undefined || element.attributes["data-src"].value.length <= 0) { continue; } let url = new URL(element.attributes["data-src"].value, location); let dontAddLink = element.parentNode.tagName === "A" || (element.parentNode.tagName === "DIV" && element.parentNode.classList.contains("reporter_img")); if (!dontAddLink) { let newElement = element.cloneNode(); newElement.src = url.href; url.search = ""; let wrapper = document.createElement("a"); wrapper.href = url.href; wrapper.appendChild(newElement); element.replaceWith(wrapper); } else { element.src = url.href; } } } // TODO add support for home page, i'm too lazy // https://www.vice.com/en/article/dy73n7/ehallpass-1000-thousand-schools-monitor-bathroom function vice() { for (element of document.querySelectorAll(".lazyloader--lowres")) { let sourceElement = element.querySelector("source"); let imgElement = element.querySelector("img"); if (sourceElement === null || imgElement === null) { continue; } let url = new URL(sourceElement.srcset, location); url.search = ""; let newImgElement = imgElement.cloneNode(); newImgElement.src = url.href; newImgElement.style.filter = "none"; let imgWrapper = document.createElement("a"); imgWrapper.href = url.href; imgWrapper.appendChild(newImgElement); imgElement.replaceWith(imgWrapper); for (sourceElement of element.querySelectorAll("source")) { sourceElement.remove(); } element.style.opacity = 1; } } switch (location.host) { case "closeronline.co.uk": closeronline(); break; case "www.indiatoday.in": indiatoday(); break; case "www.vice.com": vice(); break; };