Yandex Image Search Direct Link Patch

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

目前為 2022-11-15 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Yandex Image Search Direct Link Patch
// @namespace    https://greasyfork.org/en/users/85671-jcunews
// @version      1.0.3
// @license      AGPL v3
// @author       jcunews
// @description  Make Yandex Image search result 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==

(() => {
  (new MutationObserver(recs => {
    recs.forEach(rec => {
      rec.addedNodes.forEach((node, a, b, c) => {
        if (node.matches && node.matches(".serp-controller__content")) {
          node.querySelectorAll(".serp-item").forEach(node => {
            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"
            }
          })
        }
      })
    })
  })).observe(document, {childList: true, subtree: true})
})()