您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Sets the links in the JavaScript-free Google Basic Variant (gbv=1) search results to their original domains, which circumvents click routing through Google's query parameters, fixes browser history mismatch, and strips tracking query parameters.
- // ==UserScript==
- // @name Google Search URL Fixup Fork
- // @namespace https://gf.qytechs.cn/users/581142
- // @namespace https://github.com/brian6932/gsearch-urlfix
- // @license MPL-2.0
- // @include /^https?:\/{2}w{3}\.google\.(?:a[delmstz]|b[aefgijsty]|c(?:o(?:m(?:\.(?:a[fgru]|b[dhnorz]|c[ouy]|do|e[cgt]|fj|g[hit]|hk|jm|k[hw]|l[by]|m[mtxy]|n[agip]|om|p[aeghkry]|qa|s[abglv]|t[jrw]|u[ay]|v[cn]))?|\.(?:ao|bw|c[kr]|i[dln]|jp|k[er]|ls|m[az]|nz|t[hz]|u[gkz]|v[ei]|z[amw]))|[adfghilmnvz])|d[ejkmz]|e[es]|f[imr]|g[aeglmry]|h[nrtu]|i[emqst]|j[eo]|k[giz]|l[aiktuv]|m[degklnuvw]|n[eloru]|p[lnst]|r[osuw]|s[cehikmnort]|t[dglmnot]|vu|ws)\/search\?/
- // @icon https://raw.githubusercontent.com/brian6932/gsearch-urlfix/master/icon.svg
- // @grant none
- // @version 0.8.10
- // @author brian6932
- // @description Sets the links in the JavaScript-free Google Basic Variant (gbv=1) search results to their original domains, which circumvents click routing through Google's query parameters, fixes browser history mismatch, and strips tracking query parameters.
- // ==/UserScript==
- // jshint esversion: 11
- let i = -1
- const
- pathToParam = {
- __proto__: null,
- "/url": "q",
- "/imgres": "imgurl"
- },
- strippableParams = [
- "ei",
- "fbs",
- "sa",
- "sca_esv",
- "sca_upv",
- "source",
- "sxsrf",
- "ved",
- ],
- { links } = globalThis.document,
- fixLinks = () => {
- while (++i < links.length) {
- if (links[i].search === "" && links[i].host !== "www.google.com")
- continue
- const mappedParam = pathToParam[links[i].pathname]
- if (mappedParam !== undefined) {
- const encodedLink = new globalThis.URLSearchParams(links[i].search).get(mappedParam)
- if (encodedLink === null)
- continue
- if (!(links[i].href = globalThis.decodeURIComponent(encodedLink)).startsWith("https://www.google.com/"))
- continue
- }
- /*
- * Should hit the following paths:
- /
- /maps
- /preferences
- /search
- /setprefs
- /travel
- /webhp
- */
- const link = new globalThis.URL(links[i].href)
- for (const param of strippableParams)
- link.searchParams.delete(param)
- links[i].href = link.toString()
- }
- }
- // Invoke on load.
- fixLinks()
- // Reinvoke on body change.
- new globalThis.MutationObserver(mutations => {
- for (const mutation of mutations)
- if (mutation.type === "childList")
- return fixLinks()
- }).observe(globalThis.document.body, { __proto__: null, childList: true, subtree: true })
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址