登录 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
它会从谷歌搜索结果中删除此跟踪和重定向。支持通过 HTTP 和 HTTPS 使用谷歌。
答案3
如果你正在使用火狐,您很幸运,因为以下答案适合您。如果您使用的是 Chrome,那么您就没那么幸运了,请参阅此答案的底部。
Greasemonkey 触发用户脚本DOM 加载完成后,因此您不需要实现“DOM ready”监听器。
另外,您使用的是 Firefox,因此您可以使用一些现代的糖果:for...of
,let
。
以下是生成的 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
实际上这个用户脚本看起来可以完成这个工作: