Bing Image Direct Link Patch

Make search result entries' image dimension information as link which points to the direct image resource.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        Bing Image Direct Link Patch
// @namespace   BingImageDirectLinkPatch
// @version     1.2.4
// @license     AGPLv3
// @author      jcunews
// @description Make search result entries' image dimension information as link which points to the direct image resource.
// @website     https://greasyfork.org/en/users/85671-jcunews
// @include     https://www.bing.com/images/search*
// @grant       none
// ==/UserScript==

(() => {
  addEventListener("mouseenter", (ev, a, b, c, z) => {
    if (ev.target.matches(".imgpt:not(.linked_bidlp)") && (a = ev.target.querySelector(".img_info>span")) && (b = ev.target.querySelector(".iusc"))) {
      ev.target.classList.add("linked_bidlp");
      (c = document.createElement("A")).textContent = a.textContent;
      c.className = a.className;
      c.style.cssText = a.style.cssText;
      c.rel = "nofollow noopener noreferrer";
      try {
        if (!(c.href = JSON.parse(b.getAttribute("m")).murl)) throw 0;
      } catch(z) {
        c.href = 'javascript.void("Error getting image URL")';
      }
      a.parentNode.replaceChild(c, a);
    }
  }, true);
})();