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.

  1. // ==UserScript==
  2. // @name Yandex Image Search Direct Link Patch
  3. // @namespace https://gf.qytechs.cn/en/users/85671-jcunews
  4. // @version 1.0.4
  5. // @license AGPL v3
  6. // @author jcunews
  7. // @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.
  8. // @match https://yandex.com/images/search*
  9. // @grant none
  10. // @run-at document-start
  11. // ==/UserScript==
  12.  
  13. (() => {
  14. function updItem(node, a, b, c) {
  15. if (a = node.querySelector(".serp-item__plates")) {
  16. (b = document.querySelector("A")).className = a.className;
  17. b.href = decodeURIComponent((c = node.querySelector(".serp-item__link")).href.match(/img_url=([^&#]+)/)[1]).replace(/^http:/, "https:");
  18. b.rel = "noopener noreferrer";
  19. b.innerHTML = a.innerHTML;
  20. b.firstChild.style.cssText = "display:block";
  21. c.insertAdjacentHTML("afterend", b.outerHTML);
  22. a.style.display = "none"
  23. }
  24. }
  25. (new MutationObserver(recs => {
  26. recs.forEach(rec => {
  27. rec.addedNodes.forEach(node => {
  28. if (node.matches) {
  29. if (node.matches(".serp-item")) {
  30. updItem(node)
  31. } else if (node.matches(".serp-controller__content")) node.querySelectorAll(".serp-item").forEach(updItem)
  32. }
  33. })
  34. })
  35. })).observe(document, {childList: true, subtree: true})
  36. })()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址