如何在 Chrome 中禁用 Google 搜索结果链接重定向(右键单击)?

如何在 Chrome 中禁用 Google 搜索结果链接重定向(右键单击)?

登录 Google 后,Google 搜索结果会被重定向(用于跟踪等目的)。这很烦人,因为如果不访问网站,复制/粘贴 URL 并不容易。如果没有重定向,我只需右键单击搜索结果中的链接并选择“复制链接地址”。现在,它被一些监视右键单击的 Google JavaScript 代码所改变。

如何在 Chrome 上禁用此功能?我认为以前有一个 Chrome 扩展程序,但似乎不再起作用了。

答案1

现在当我知道你想要什么时,我编写了一个onmousedown从链接中删除属性的小脚本。

这里是:

// ==UserScript==
// @name           Delete onmousedown
// @namespace      google
// @include        http://www.google.*/*
// ==/UserScript==
var runOnce = function(){
    var items = document.querySelectorAll('li.g h3.r a');
    for(var i = 0, len = items.length; i< len; i++){
        items[i].removeAttribute('onmousedown');
    }
}
document.body.appendChild(document.createElement("script")).innerHTML = "("+runOnce+")()";

将其保存为以 .user.js 结尾的文件,然后将其放在 Google Chrome 上,让我知道它是否有帮助。

PS. 英语不是我的母语,所以很抱歉误解了你。

编辑:我添加了额外的逻辑,以便它能够与 Google Instant 配合使用。告诉我它是否适合您。

编辑:我回滚到“没有” Google Instant 支持的版本。

答案2

尝试使用“Undirect” Chrome 扩展程序

它会从谷歌搜索结果中删除此跟踪和重定向。支持通过 HTTP 和 HTTPS 使用谷歌。

答案3

如果你正在使用火狐,您很幸运,因为以下答案适合您。如果您使用的是 Chrome,那么您就没那么幸运了,请参阅此答案的底部。

Greasemonkey 触发用户脚本DOM 加载完成后,因此您不需要实现“DOM ready”监听器。

另外,您使用的是 Firefox,因此您可以使用一些现代的糖果:for...oflet

以下是生成的 Greasemonkey 脚本:

// ==UserScript==
// @name        Remove Google redirects
// @namespace   google
// @description Remove redirects from Google Search result links.
// @include     https://www.google.*/*
// @version     1
// @grant       none
// ==/UserScript==

for (let element of document.querySelectorAll('#res .r > a')) {
    element.removeAttribute('onmousedown');
}

由于let没有本地声明,因此您不需要将上述代码包含在即时执行函数


对于不幸的人铬合金(Tampermonkey)用户:

在执行脚本时找不到链接,即使document.readyState === 'complete'……因此您必须使用计时器实现一些循环。

因此,你最终会得到:

// ==UserScript==
// @name        Remove Google redirects
// @namespace   google
// @description Remove redirects from Google Search result links.
// @include     https://www.google.*/*
// @version     1
// @grant       none
// ==/UserScript==

(function removeGoogleRedirects() {

    var links = document.querySelectorAll('#res .r > a');

    if (links.length === 0) {
        setTimeout(removeGoogleRedirects, 100);
        return;
    }

    for (var link of links) {
        link.removeAttribute('onmousedown');
    }

})();

2018 年 10 月更新:
由于 Google 页面中的标记更改,需要h3.r将 更改为div.r
我走得更远,h3.r > a用替换#res .r > a(用“.class”替换“tag.class”,并添加了父级作为安全性,以使选择器不会太通用)。

答案4

如果我将选择器更改为:Benjamin 的脚本对我有用:li.g div.vsc h3.r a

实际上这个用户脚本看起来可以完成这个工作:

Greasemonkey 的 Google Tracking-B-Gone

相关内容