Como desabilitar o redirecionamento de links de resultados de pesquisa do Google (clicando com o botão direito) no Chrome?

20

Ao fazer login no Google, os resultados da pesquisa do Google são redirecionados (para fins de rastreamento, etc.). Isso é irritante, pois não é fácil copiar / colar o URL sem visitar o site. Se não houver redirecionamento, basta clicar com o botão direito do mouse no link nos resultados da pesquisa e selecionar "Copiar endereço do link". Agora ele é alterado por algum código JavaScript do Google que monitora o clique com o botão direito do mouse.

Como isso pode ser desativado no Chrome? Acho que costumava haver uma extensão do Chrome para ele, mas parece não estar mais funcionando.

    
por Rabarberski 26.08.2011 / 12:31

5 respostas

7

Agora, quando sei o que você queria, escrevi um pequeno script que exclui o atributo onmousedown do link.

Aqui está:

// ==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+")()";

Salve-o como um arquivo que termina com .user.js e solte-o no Google Chrome e me informe se isso ajudou.

PS. Inglês não é meu idioma falado, desculpe por você ter entendido mal.

Editar: adicionei lógica extra para funcionar com o Google Instant. Diga-me se funciona para você.

Editar: voltei para a versão "sem" suporte do Google Instant.

    
por 26.08.2011 / 15:02
5

Tente usar a extensão "Undirect" do Chrome .

It removes this tracking and redirection from google search results. Supports using google over both HTTP and HTTPS.

    
por 04.12.2012 / 03:51
1

Se você estiver usando o Firefox , terá sorte, pois a seguinte resposta se aplica a você. Se você está usando o Chrome, você tem menos sorte, veja o final desta resposta.

O Greasemonkey dispara os scripts de usuário assim que o DOM é carregado , portanto, você não precisa implementar um ouvinte "DOM ready" .

Você também está no Firefox, então você pode usar alguns doces modernos: for...of , let .

Aqui está o script Greasemonkey resultante:

// ==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');
}

Graças ao let , não há declarações locais, portanto, não é necessário incluir o código acima em IIFE .

Para os desafortunados usuários do Chrome (Tampermonkey):

Links não são encontrados no momento em que o script é executado, mesmo que document.readyState === 'complete' … como resultado você tenha que implementar algum loop com timer.

Portanto, você acaba com:

// ==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');
    }

})();

Atualização de outubro de 2018:
Devido a uma alteração de marcação na página do Google, o h3.r precisou ser alterado para div.r .
Eu fui mais longe e substituí h3.r > a com #res .r > a (substituído "tag.class" por apenas ".class", e adicionei um pai como uma segurança para que o seletor não seja muito genérico).

    
por 16.08.2015 / 20:30
0

O script de Benjamin funciona para mim se eu mudar o seletor para: li.g div.vsc h3.r a

Na verdade, este script de usuário parece que funcionaria:

Google Tracking-B-desaparecido para o Greasemonkey

    
por 03.12.2011 / 11:10
0

Acho este scriptlet mais fácil de executar. Copie e arraste-o para a barra de favoritos e clique antes com o botão direito do mouse em qualquer um dos links dos resultados da pesquisa.

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

Deus essas pessoas são satanas mas atualizei o roteiro que Beniamin deu, funciona a partir da data deste post. Usuário este truque para lightweight, certifique-se de que a página foi carregada antes de remover os elementos de seus eventos de mousedown. Deve usar o TamperMonkey para fazer isso funcionar.

// ==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 );
    
por 08.08.2012 / 04:24