¿Cómo deshabilitar la redirección de enlaces de resultados de búsqueda de Google (al hacer clic con el botón derecho) en Chrome?


22

Cuando inicia sesión en Google, los resultados de búsqueda de Google se redirigen (con fines de seguimiento, etc.). Esto es molesto, ya que no es fácil copiar / pegar la URL sin visitar el sitio. Si no hubiera redirección, simplemente haría clic derecho en el enlace en los resultados de búsqueda y seleccionaría "Copiar dirección del enlace". Ahora está alterado por algún código JavaScript de Google que supervisa el clic derecho.

¿Cómo se puede deshabilitar esto en Chrome? Creo que solía haber una extensión de Chrome, pero parece que ya no funciona.


¿Cuál es el propósito de su clic derecho?
Beniamin

44
@Beniamin: como dije en mi pregunta: "copiar [pegar] la URL". Solo quiero obtener la URL (por ejemplo, para pegar en un informe, etc.)
Rabarberski

44
FYI: Simplemente seleccionar el texto con el cursor y presionar ctrl-c no siempre es una opción, porque google concatena URL largas
Rabarberski

Okay. Pero cuando hace clic derecho en el enlace, cambia al enlace de seguimiento de Google. Por lo tanto, no obtendrá ese enlace a menos que abra la página, Google lo redirigirá a la página deseada y tendrá lo que desea.
Beniamin

2
La pregunta es exactamente cómo evitar eso. (había alguna extensión de Chrome antes (ya no funciona) y algún script de greasemonkey para firefox, pero la última vez que lo verifiqué tuve algunos problemas con eso. Entonces dije "no obtendrás ese enlace a menos que abras la página" no tiene sentido)
Rabarberski

Respuestas:


7

Ahora, cuando sé lo que querías, escribí un pequeño script que elimina el onmousedownatributo del enlace.

Aquí 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+")()";

Guárdelo como un archivo que termine con .user.js y suéltelo en Google Chrome y avíseme si ayudó.

PD. El inglés no es mi idioma hablado, lo siento mucho por malinterpretarte.

Editar: agregué lógica adicional, por lo que debería funcionar con Google Instant. Dime si funciona para ti.

Editar: volví a la versión "sin" soporte de Google Instant.


Gracias por el esfuerzo. Intenté algo similar, sin embargo, cuando arrastro el archivo de secuencia de comandos sobre Chrome, se abre en el navegador y muestra el código fuente en lugar de instalar la secuencia de comandos.
Rabarberski

Prueba Ctrl + O para abrir el archivo. ¿Y estás seguro de que lo llamaste algo así como: google.user.js?
Beniamin

Y he leído que la ventana de cromo necesita ser maximizada.
Beniamin

O instale alguna extensión similar a greasemonkey en Chrome. Le ayudará a instalar scripts y los scripts de greasemonkey deberían funcionar. Por ejemplo: chrome.google.com/webstore/detail/…
Beniamin

1
@Rabarberski, entonces tendrás que dejar de usar Google Instant.
Synetech


3

Si está utilizando Firefox , tiene suerte ya que la siguiente respuesta se aplica a usted. Si está utilizando Chrome, tiene mucha menos suerte, consulte la parte inferior de esta respuesta.

Greasemonkey dispara los scripts de usuario una vez que se carga el DOM , por lo que no necesita implementar un oyente "listo para DOM".

También estás en Firefox, por lo que puedes usar algunos dulces modernos: for...of, let.

Aquí está el script resultante de 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');
}

Gracias a que letno hay declaraciones locales, por lo tanto, no necesita incluir el código anterior en un IIFE .


Para los desafortunados usuarios de Chrome (Tampermonkey):

Los enlaces no se encuentran en el momento en que se ejecuta el script, aunque document.readyState === 'complete'... como resultado, debe implementar algún bucle con temporizador.

Por lo tanto, terminas con:

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

})();

Actualización de octubre de 2018:
debido a un cambio de marcado en la página de Google, fue h3.rnecesario cambiarlo a div.r.
Fui más lejos y lo reemplacé h3.r > acon #res .r > a(reemplacé "tag.class" con solo ".class", y agregué un padre como seguridad para que el selector no sea demasiado genérico).


Tomar el texto de la secuencia de comandos de Firefox y agregar 'javascript:' al comienzo, y luego hacer un bookmarklet (a la respuesta de bobobobo) funcionó muy bien para mí.
compra


0

Este scriptlet me parece más fácil de ejecutar. Cópielo y arrástrelo a su barra de marcadores y haga clic en él antes de hacer clic derecho en cualquiera de los enlaces de resultados de búsqueda.

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

Dios, estas personas son satanás, pero actualicé el guión que Beniamin dio, funciona a partir de la fecha de esta publicación. Usa este truco para asegurarte de que la página se haya cargado antes de quitar elementos de sus eventos de mousedown. Debe usar TamperMonkey para que esto funcione.

// ==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 );
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.