Youtube Thumbnail Search

Search youtube thumbnail image using yandex

当前为 2022-08-23 提交的版本,查看 最新版本

// ==UserScript==
// @name         Youtube Thumbnail Search
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  Search youtube thumbnail image using yandex
// @author       Tanuki
// @match       *://*.youtube.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
// @namespace   https://greasyfork.org/id/scripts/449233-youtube-thumbnail-search
// @homepage    https://greasyfork.org/id/scripts/449233-youtube-thumbnail-search
// @grant        none
// @license     MIT
// ==/UserScript==

(function() {
    'use strict';
    window.addEventListener("scroll",function(){
		//Video Tab
		var vTabRoot = document.querySelectorAll('ytd-grid-video-renderer > div#dismissible')
		var vTabImg = document.querySelectorAll('ytd-grid-video-renderer > div#dismissible > ytd-thumbnail > a#thumbnail > yt-img-shadow > img#img')
		//Home
		var vHomeRoot = document.querySelectorAll('div#contents > ytd-rich-grid-row > div#contents > ytd-rich-item-renderer > div#content')
		var vHomeImg = document.querySelectorAll('div#contents > ytd-rich-item-renderer > div#content > ytd-rich-grid-media > div#dismissible > ytd-thumbnail > a#thumbnail > yt-img-shadow.style-scope.ytd-thumbnail.no-transition > img#img.style-scope.yt-img-shadow')
        //Short Home
        var vHomeSRoot = document.querySelectorAll('ytd-rich-item-renderer > div#content > ytd-rich-grid-slim-media')
        var vHomeSImg = document.querySelectorAll('ytd-rich-item-renderer > div#content > ytd-rich-grid-slim-media > div#dismissible > ytd-thumbnail > a#thumbnail > yt-img-shadow > img#img')

		if (vTabRoot.length > 0) {
			for(var v = 0; v < vTabRoot.length; v++) {
				var tblCarii = vTabRoot[v].querySelectorAll('a#btn-search-yandex')
				if (tblCarii[0] != undefined) {
					tblCarii[0].remove()
				}
				vTabRoot[v].insertAdjacentHTML('beforeend', '<a id="btn-search-yandex" href="https://yandex.com/images/search?rpt=imageview&url='+vTabImg[v].src+'" target="_blank">🔍</a>');
			}
		}

        if (vHomeRoot.length > 0){
			for(var i = 0; i < vHomeRoot.length; i++) {
				var tblCari = vHomeRoot[i].querySelectorAll('a#btn-search-yandex')
				if (tblCari[0] != undefined) {
					tblCari[0].remove()
				}
				vHomeRoot[i].insertAdjacentHTML('beforeend', '<a id="btn-search-yandex" href="https://yandex.com/images/search?rpt=imageview&url='+vHomeImg[i].src+'" target="_blank">🔍</a>');
			}
		}

        if (vHomeSRoot.length > 0){
			for(var j = 0; j < vHomeSRoot.length; j++) {
				var tblCarij = vHomeSRoot[j].querySelectorAll('a#btn-search-yandex')
				if (tblCarij[0] != undefined) {
					tblCarij[0].remove()
				}
				vHomeSRoot[j].insertAdjacentHTML('afterend', '<a id="btn-search-yandex" href="https://yandex.com/images/search?rpt=imageview&url='+vHomeSImg[j].src+'" target="_blank">🔍</a>');
			}
		}

    })

	//add Style to btn
	const style = document.createElement('style');
	style.innerHTML = `
		#btn-search-yandex {
			text-decoration: none;
			position: absolute;
			top:0;
			left:0;
			font-size:24px;
			z-index: 1;
			display: none;
		}

		ytd-rich-grid-media:hover + #btn-search-yandex{
			display: block;
		}

        ytd-rich-grid-slim-media:hover + #btn-search-yandex{
			display: block;
		}

        #btn-search-yandex:hover{
			display: block;
		}


		`;
	document.head.appendChild(style);

})();