Google Images direct link fix

Adds a direct button link for the image.

目前为 2020-01-06 提交的版本。查看 最新版本

// ==UserScript==
// @name     Google Images direct link fix
// @description	Adds a direct button link for the image.
// @version  1.6.1b
// @grant    none
// @include  https://www.google.com/search?*
// @require  https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @namespace https://greasyfork.org/users/11231
// ==/UserScript==

var xurl, progressBar, xIMG, xPlaceholder, xCurrentClass, xPos;

$(window).on("load", function() {
	setTimeout(function() { Checker(); }, 1000); 
	$(window).click(function(e) { 
		if ( $(e.target).prop("tagName") == 'IMG' ) {
      $("#aTheIMG").remove();
      setTimeout(function() { 
    		Checker(); 
      }, 600);  
  	}
	});
});


function Checker() { setTimeout(function() {   
  $("#aTheIMG").remove();
	$( '#irc-ss>div' ).each(function (index, obj) {
 	 if ( $( obj ).css('display') != 'none' ) {
		progressBar = $( obj ).find('.jfk-progressBar-blocking');     
			if ( $(progressBar).css('display') != 'none' ) 
      {
  			Checker();
    		return true;
			} else {
  			theWork(obj);
			}       
   } 
	});   
}, 500); }
                 
function theWork(obj) { 

			xIMG = $(obj).find('img');
      xurl = $(xIMG).attr("src");

      xPlaceholder = $('div.irc_c.immersive-container>div.irc_mmc > div:nth-child(1) > div:nth-child(1) > div:nth-child(2)');
  		xCurrentClass = $('div.irc_c.immersive-container>div.irc_mmc > div:nth-child(1) > div:nth-child(1) > div:nth-child(2) > a:nth-child(2)').attr('class');
  		xPos = '130px;';
  
			if (!$("#aTheIMG").length) {
  			$(xPlaceholder).append('<a class="'+xCurrentClass+'" id="aTheIMG" style="right:'+xPos+'" href="'+xurl+'" title="Open image in new tab" target="_blank" ><span>View image</span></a>');
			} 
  
      if ( $(xurl).attr("href").startsWith('data:image/') ) 
       {
        $("#aTheIMG").attr("href") = $("#aTheIMG").parent().parent().parent().parent().parent().find('.i30052').find('img').attr('src');
       }

}

$( '<style>' ).text(' \
#aTheIMG { \
position: relative; \
z-index: 1; \
top: 0px; \
margin-left: -84px; \
text-decoration: none !important; \
} \
#aTheIMG > span {padding-left: 3px;} \
#aTheIMG:hover { \
filter: brightness(1.3); \
} \
div:nth-child(2)>div:nth-child(1)>div:nth-child(1)>div:nth-child(3)>div:nth-child(1)>div:nth-child(1)>a:nth-child(3), .hZC4Sd>div:nth-child(1)>div:nth-child(1)>div:nth-child(2)>a:nth-child(1){ \
margin-right: -0px; \
} \
div.irc_c.immersive-container>div.irc_mmc>div:nth-child(1)>div:nth-child(1)> div:nth-child(2)>a:nth-child(1){pointer-events: none !important;} \
div.irc_c.immersive-container>div.irc_mmc>div:nth-child(1)>div:nth-child(1)> div:nth-child(2)>a:nth-child(1)>div:nth-child(1){pointer-events: all !important;} \
' ).appendTo( document.head );