Bing Image Direct Link Patch

Make CTRL+Click on image thumbnail go directly to the image in a Bing Image search result. Use CTRL+SHIFT+Click to open image in a new tab. Mouse button and use of CTRL key can be configured in the script.

2019-05-13 기준 버전입니다. 최신 버전을 확인하세요.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        Bing Image Direct Link Patch
// @namespace   BingImageDirectLinkPatch
// @version     1.1.3
// @license     AGPLv3
// @author      jcunews
// @description Make CTRL+Click on image thumbnail go directly to the image in a Bing Image search result. Use CTRL+SHIFT+Click to open image in a new tab. Mouse button and use of CTRL key can be configured in the script.
// @include     https://www.bing.com/images/search*
// @grant       none
// ==/UserScript==

(() => {
  //===== CONFIGURATION BEGIN

  var mouseButton = 0;    //0=Left, 1=Right, 2=Middle
  var useCtrlKey  = true; //true=CTRL key is required. i.e. CTRL+MouseButton

  //Use of SHIFT key will always open the image in a new tab.

  //===== CONFIGURATION END

  //add direct image URL to the image bottom panel
  document.addEventListener("click", function(ev) {
    var base, ele = ev.target, url, link, z;
    if ((ev.button ===mouseButton) && (!useCtrlKey || ev.ctrlKey) && ele.classList.contains("mimg")) try {
      base = ele.parentNode.parentNode.parentNode.parentNode;
      url = JSON.parse(base.querySelector(".iusc").getAttribute("m")).murl;
      if (ev.shiftKey) {
        open(url, "bidlp" + (new Date()).valueOf());
      } else {
        location.href = url;
      }
      ev.preventDefault();
      ev.stopPropagation();
      ev.stopImmediatePropagation();
    } catch (z) {}
  }, true);
})();