🏠 Home 

Yandex Image Search Direct Link Patch

Make Yandex Image search r###lt entry's image bottom panel as bottom-right image size information and link it to the direct image resource.


Install this script?
// ==UserScript==
// @name         Yandex Image Search Direct Link Patch
// @namespace    https://greasyfork.org/en/users/85671-jcunews
// @version      1.0.4
// @license      AGPL v3
// @author       jcunews
// @description  Make Yandex Image search r###lt entry's image bottom panel as bottom-right image size information and link it to the direct image resource.
// @match        https://yandex.com/images/search*
// @grant        none
// @run-at       document-start
// ==/UserScript==
(() => {
function updItem(node, a, b, c) {
if (a = node.querySelector(".serp-item__plates")) {
(b = document.querySelector("A")).className = a.className;
b.href = decodeURIComponent((c = node.querySelector(".serp-item__link")).href.match(/img_url=([^&#]+)/)[1]).replace(/^http:/, "https:");
b.rel = "noopener noreferrer";
b.innerHTML = a.innerHTML;
b.firstChild.style.cssText = "display:block";
c.insertAdjacentHTML("afterend", b.outerHTML);
a.style.display = "none"
}
}
(new MutationObserver(recs => {
recs.forEach(rec => {
rec.addedNodes.forEach(node => {
if (node.matches) {
if (node.matches(".serp-item")) {
updItem(node)
} else if (node.matches(".serp-controller__content")) node.querySelectorAll(".serp-item").forEach(updItem)
}
})
})
})).observe(document, {childList: true, subtree: true})
})()