您需要先安装一个扩展,例如 篡改猴、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或关注我们的公众号极客氢云获取最新地址