您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Readd Google Image search result entry's image bottom panel as bottom-right image size information and link it to the direct image resource.
// ==UserScript== // @name Google Image Direct Link Patch // @namespace GoogleImageDirectLinkPatch // @version 1.3.18 // @license AGPL v3 // @author jcunews // @description Readd Google Image search result entry's image bottom panel as bottom-right image size information and link it to the direct image resource. // @website https://gf.qytechs.cn/en/users/85671-jcunews // @include /^https:\/\/www\.google\.(co\.)?[a-z]{2,3}\/search.*(tbm=isch|udm=2)/ // @include /^https:\/\/www\.google\.com(\.[a-z]{2,3})?\/search.*(tbm=isch|udm=2)/ // @grant none // @run-at document-start // ==/UserScript== ((cnt, xo, cd) => { function processEntries() { cnt.querySelectorAll('div>h3:not(.paneled_gidlp)').forEach((e, a, o) => { if (cd) { e.classList.add("paneled_gidlp"); e.insertBefore(a = document.createElement("A"), e.firstChild).className = "panel_gidlp"; a.rel = "nofollow noopener noreferrer"; o = cd[e.closest('[jsdata]').getAttribute("jsdata").match(/[^;]+$/)?.[0]] a.dataset.ow = o?.[1]?.[3]?.[2] || "???"; a.dataset.oh = o?.[1]?.[3]?.[1] || "???"; a.href = o?.[1]?.[3]?.[0] || 'javascript:void("Image URL is not found")'; a.addEventListener("click", ev => { ev.stopImmediatePropagation(); ev.stopPropagation(); }, true) } else { (function wl(e, a, o) { if (o = e.closest('div[jscontroller]')?.__jscontroller?.pending?.value?.Vz?.Bp?.[1]?.Bp?.[3]) { e.classList.add("paneled_gidlp"); if (!(a = e.querySelector('.panel_gidlp'))) e.insertBefore(a = document.createElement("A"), e.firstChild).className = "panel_gidlp"; a.rel = "nofollow noopener noreferrer"; a.dataset.ow = o[2] || "???"; a.dataset.oh = o[1] || "???"; a.href = o[0] || 'javascript:void("Image URL is not found")'; a.addEventListener("click", ev => { ev.stopImmediatePropagation(); ev.stopPropagation(); }, true) } else setTimeout(wl, 100, e, a) })(e, a) } }) } xo = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function(mtd, url) { if (url.startsWith("/search?")) { this.addEventListener("load", (v, z) => { if ((v = this.responseText.split(";[")).length) try { JSON.parse("[" + v[v.length - 1])[0].forEach(a => { try { cd[a[0]] = JSON.parse(a[1]) } catch(z) {} }) } catch(z) {} }) } return xo.apply(this, arguments) }; addEventListener("load", (a, mo, ht) => { Array.from(document.querySelectorAll('script:not([src])')).some(e => { if (e = e.text.match(/var [a-z]=(\{".*?\});/)) { cd = JSON.parse(e[1]); return true } }); document.documentElement.appendChild(a = document.createElement("STYLE")).id = "css_gidpl"; a.innerHTML = ` #rso div>h3>.panel_gidlp { position: absolute; z-index: 1; right: 0; bottom: 0; font-size: 10pt; line-height: normal; } #rso div>h3>.panel_gidlp:before { border-radius: .2em; padding: 0 .3ex; background-color: #444; color: #fff; content: attr(data-ow) "x" attr(data-oh); } #rso div>h3>.panel_gidlp:visited:before { color: #f9f; }`; if (cnt = document.querySelector("#rso div[jsmodel][jsdata]")) { (mo = new MutationObserver(recs => { clearTimeout(ht); ht = setTimeout(processEntries, 500); })).observe(cnt, {childList: true}); processEntries() } }) })()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址