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


22

登录到Google后,Google搜索结果将被重定向(用于跟踪等目的)。这很烦人,因为不访问网站就很难复制/粘贴URL。如果没有重定向,我将右键单击搜索结果中的链接,然后选择“复制链接地址”。现在,它由监视右键单击的某些Google JavaScript代码更改。

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


右键单击的目的是什么?
贝尼亚明

4
@Beniamin:正如我的问题中所说:“复制[粘贴] URL”。我只想获取URL(例如,粘贴在报告
中等

4
仅供参考:仅使用光标选择文本并按ctrl-c并不总是一个选择,因为google会连接长网址
Rabarberski

好。但是,当您右键单击链接时,它将变为Google跟踪链接。因此,除非您打开页面,否则您将不会获得该链接,Google会将您重定向到所需页面,您将拥有所需的内容。
贝尼亚明

2
问题恰恰在于如何避免这种情况。(以前有一些chrome扩展名(不再工作了),还有一些用于firefox的lublessmonkey脚本,但是上次我检查了一些问题。所以说:“除非打开页面,否则您将无法获得该链接”没有任何意义)。
Rabarberski

Answers:


7

现在,当我知道您要什么时,我写了一个小脚本,该脚本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即搜即得一起使用。告诉我它是否适合您。

编辑:我回滚到“没有”谷歌即时支持的版本。


感谢您的努力。我尝试了类似的方法,但是,当我将脚本文件拖到Chrome上时,会在浏览器中将其打开,显示源代码而不是安装脚本。
Rabarberski

尝试按Ctrl + O打开文件。而且您确定将其命名为:google.user.js吗?
贝尼亚明

而且我已经读到chrome窗口需要最大化。
贝尼亚明

或在镀铬中安装一些类似于油脂猴子的扩展。这将帮助您安装脚本,并且油脂猴子脚本应该可以工作。例如:chrome.google.com/webstore/detail/…–
Beniamin

1
@Rabarberski,那么您将不得不停止使用Google即搜即得。
Synetech 2011年


3

如果您使用的是Firefox,那么很幸运,因为以下答案适用于您。如果您使用的是Chrome,那么您就不太幸运了,请参阅此答案的底部。

一旦DOM加载完毕, Greasemonkey就会触发用户脚本,因此您无需实现“ 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没有本地声明,因此您不需要将以上代码包含在IIFE中


对于不幸的Chrome(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(改为“tag.class”只用“的.class”,并增加了家长的安全性,以便选择是不是太普通)。


取下Firefox脚本的文本,并在其开头添加'javascript:',然后对其做一个书签(la bobobobo的答案)对我来说非常有用。
ojchase


0

我发现此脚本最容易运行。将其复制并拖动到书签栏,然后右键单击任何搜索结果链接之前单击它。

javascript: var items = document.getElementsByTagName('a');  for( var i = 0 ; i < items.length; i++ )  if( items[i].className=='l' )  items[i].onmousedown = null ;

上帝,这些人都是撒旦,但我更新了Beniamin给出的脚本,截至本文发布之日为止。使用轻量级技巧,确保在剥离其mousedown事件的元素之前已加载页面。必须使用TamperMonkey才能完成这项工作。

// ==UserScript==
// @name           Delete onmousedown
// @namespace      google
// @version        0.1
// @description    Allows you to right click links on Google search results without having them mangled on you.
// @include          http://www.google.*/*
// ==/UserScript==
var tid = setInterval( function () {
    if ( document.readyState !== 'complete' ) return;

    var items = document.getElementsByTagName('a');

    var succeeded=false;
    for( var i = 0 ; i < items.length; i++ )
    {
      if( items[i].className=='l' )
      {
        if( items[i].onmousedown ) { succeeded=true; } // we stripped the urls
        items[i].onmousedown = null ;
      }
    }

    if( succeeded )  clearInterval( tid ); // stop invoking this routine when we succeeded.
}, 100 );
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.