Wyłączanie pośrednictwa wyników wyszukiwania Google

204

W wynikach wyszukiwania Google, w Firefox lub Chrome otrzymuję adresy URL, które przechodzą przez Google, a nie bezpośrednio do strony docelowej. Na przykład o

http://www.google.com/search?q=foo

pierwszy wynik to

http://www.google.com/url?

Naprawdę nie dbam o to, że Google śledzi to, co klikam, i tak naprawdę nie dbam o dodatkową pośrednię, gdy klikam wynik (chociaż oba są niepokojące). Ale denerwuje mnie to, że nie mogę skopiować i wkleić wyniku, po prostu klikając prawym przyciskiem myszy link i wybierając „skopiuj adres linku” (chcę uzyskać prawdziwy wynik, a nie przekierowanie do niego Google).

Chcę mieć bezpośredni adres URL http://en.wikipedia.org/wiki/Foobar , przynajmniej do celów kopiowania i wklejania, w Firefox i Chrome.

Zachowanie Google zmieniło się kilkakrotnie:

  • Kiedy zadałem to pytanie, w przeglądarce bez Javascript otrzymałeś bezpośrednie adresy URL w wynikach: http://en.wikipedia.org/wiki/Foobar . Pośredniość została dodana przez Javascript.
  • Jakiś czas później Google zmieniło się, aby zapewnić pośrednie wyniki we wszystkich przeglądarkach.
  • Od 04.09.2012 r. Wydaje się, że:

    • W przeglądarce bez JS HTML nadal zawiera wyniki pośrednie.
    • W przeglądarce z obsługą JS (przynajmniej w najnowszych Firefox i Chrome) HTML zawiera bezpośredni wynik w hrefatrybucie, ale istnieje onmousedownatrybut, który wywołuje rwtfunkcję, która przepisuje link. Bezpośredni link jest widoczny po najechaniu myszką, ale po kliknięciu lub skopiowaniu i wklejeniu otrzymujesz link pośredni, taki jak powyższy.
Gilles
źródło
3
Nie zdawałem sobie sprawy, że tak się nie dzieje w Operze
Osiem dni złego samopoczucia
7
@Barfieldmv to tak, jakbyś nie przejmował się innymi, ważnymi powodami, aby go wyłączyć.
kojiro
1
Nie widziałem żadnego powodu, dla którego Google używa tego przekierowania. (mój ton może być trochę przygnębiony, ponieważ nie jestem ojczystym językiem angielskim) Próbowałem dodać argument, aby go włączyć.
Barfieldmv
4
Muszą wykryć, który przycisk myszy wywołał mousedownzdarzenie, i zmienić link do przekierowania tylko, jeśli event.button !== 2(2 to kliknięcie prawym przyciskiem).
David Murdoch,
2
Moje wyszukiwanie znacznie się poprawiło w momencie, gdy wyłączyłem javascript na google.com. Bez pośrednictwa, bezużytecznych podglądów, bez brzydkich przycisków pojawiających się w dowolnym miejscu po najechaniu myszą. Zamiast tego, szybki, czysty, minimalistyczny interfejs, którego wszyscy byliśmy przyzwyczajeni pięć lat temu. Google naprawdę robi straszne UX.
akula1001

Odpowiedzi:

93

Uwaga autora (lipiec 2016 r.): Poniższa odpowiedź została napisana w 2011 r. I nadal działa w wyszukiwarce Google. Opublikowałem nowe rozszerzenia, które wykorzystują inną metodę usuwania pośrednich wyników wyszukiwania, która działa w jeszcze większej liczbie witryn Google i na urządzeniach mobilnych.

TL; DR: Nie śledź mnie Google to skrypt użytkownika Nie śledź mnie Google to rozszerzenie, które stworzyłem, które pozwala kopiować normalne adresy URL, jednocześnie ukrywając stronę odsyłającą do odwiedzanych witryn.

Instalacja

Wyjaśnienie

Napisałem metodę, która zastępuje rwtfunkcję modyfikującą link fałszywą funkcją, której Google nie może dotknąć.

Zapobiegając zastąpieniu rwtfunkcji przez Google , nie można już modyfikować linku. Ta metoda zależy od Object.definePropertymetody ( Firefox 4+ i Chrome 5+ ). Awaria wymaga przeglądarki Firefox 2+ i Chrome 1+ .

Firefox 2+

Jeśli chcesz tylko usunąć zachowanie modyfikujące link, a nie przejmujesz się wyświetlaniem zapytań za pośrednictwem strony odsyłającej, możesz użyć tego skryptu GreaseMonkey:
(bardzo surowe @includereguły przy użyciu symboli wieloznacznych i Magic TLD )

// ==UserScript==
// @name           Don't track me Google
// @namespace      Rob W
// @include        http://*.google.tld/*
// @include        https://*.google.tld/*
// @version        1.2
// @grant          none
// ==/UserScript==

"use strict";
if (Object.defineProperty) {
   Object.defineProperty(unsafeWindow,"rwt", {value: function(){return !0;}, writable: false });
} else {
   unsafeWindow.__defineGetter__('rwt',function(){return function(){return !0}});
}

Google Chrome nie obsługuje Magic TLD , więc najbliższe jest to *://*.google.com/*(powtórz regułę, zamień na .cominne obsługiwane Google TLD ).

W Chrome skrypty należy wstrzykiwać w postaci <script>tagów, ponieważ skrypty zawartości są wykonywane w „odizolowanym świecie” .

Chrome i Firefox 2+ - Link do kodu źródłowego

21 stycznia 2012 r. Opublikowałem wersję rozszerzoną, która zawiera metodę ukrywania stron odsyłających, aby inni nie widzieli Twojego zapytania. To znacznie poprawia twoją prywatność.

(Aktualizacja od 2016 r .: ukrywanie stron odsyłających nie jest już potrzebne w nowoczesnej przeglądarce ze względu na zasady dotyczące stron odsyłających , które pokazują tylko domenę w nagłówku strony odsyłającej )

Rob W.
źródło
1
TL; DR Nie śledź mnie Google pozwala kopiować normalne adresy URL, jednocześnie ukrywając stronę odsyłającą do odwiedzanych stron :)
Rob W
Nie śledź mnie, Google działało dla mnie w Chrome!
Andriy Drozdyuk
1
@drozzy Właśnie opublikowałem rozszerzenie w Chrome Web Store .
Rob W
1
opisany tutaj skrypt - jak na userscripts.org/scripts/issues/121923 - działa idealnie Szczęśliwy! chciałby przekazać darowiznę!
1
@ TomášZato Archiwum internetowe na ratunek: web.archive.org/web/20140424090201/https://userscripts.org/…
Rob W
47

Sprawdź, czy skrypt użytkownika znaleziony tutaj dla wyszukiwarki Google działa dla Ciebie. Używam go od jakiegoś czasu i działa on częściej niż nie dla mnie. wprowadź opis zdjęcia tutaj

Edycja: Oto dodatek do przeglądarki Firefox: Poprawka linku do wyszukiwania Google

Lew
źródło
1
Twitter działa dla mnie pięknie. Wydaje się, że ani Facebook, ani Google nie działają ... Używając najnowszej wersji Chrome.
Jeffrey Blake,
To zawsze wyłącza przepisywanie, co oznacza, że ​​poufne informacje nie zostaną usunięte z strony polecającej (patrz np. Facebook.com/notes/facebook-engineering/… ). Czy istnieje sposób na skopiowanie oryginalnego adresu URL do schowka, gdy jest to potrzebne, ale nadal przepisanie go, gdy link jest wykonywany normalnie?
mark4o
1
To już nie działa w Chrome z nowymi zasadami blokowania rozszerzeń / skryptów innych niż sklepowe.
Andriy Drozdyuk
23

Pojawia się, że funkcja rwt jest wywoływana po włączeniu , a tym samym przepisywaniu href. Jeśli moglibyśmy nadpisać to zachowanie, powinniśmy być nastawieni.

W Firefoksie wstawiłem następujący skrypt JavaScript do bookmarkletu, który można następnie wykonać w dowolnym momencie, aby zapobiec (nieco irytującemu) przepisywaniu linków w danym SERP Google:

javascript:function rwt(a,f,g,l,m,h,c,n,i){return a};

Edycja: Wspaniale jest zobaczyć, że skrypt użytkownika @Rob utworzył i umieścił w swojej odpowiedzi, korzysta z tego fragmentu, wysoce zalecane!

wehal3001
źródło
2
Nawiasem mówiąc, możesz wyeliminować wszystkie parametry, z rwtwyjątkiem atego przypadku, ponieważ JavaScript nie dba o to, czy argumenty funkcji pasują do parametrów, czy nie.
Reid
Słuszna uwaga. i FWIW, podejrzewam, że javascript:function rwt(){0};może dać podobny wynik, nawet bez 0- być może warty pytania na codereview.stackexchange.com, ponieważ jest to zarówno niesprawdzone, jak i nieco nie na temat.
wehal3001
12

Używam dodatku Firefox Redirect Remover .

Po zainstalowaniu kliknij prawym przyciskiem myszy przekierowany adres URL w przeglądarce, aby skopiować skopiowany adres URL.

Chaim Geretz
źródło
11

W przypadku krótkich adresów URL możesz po prostu skopiować zielony tekst pod tytułem, ponieważ jest to ten sam adres URL, tylko bez protokołu wiodącego.

W przypadku długich adresów URL (tych, które mają zielony wielokropek), potrzebujesz skryptu lub skorzystaj z częściowo złożonego obejścia.

Skrypt jest konieczny, ponieważ Google modyfikuje linki własnym skryptem po kliknięciu myszą. Po najechaniu myszką na link wyników zobaczysz na pasku stanu, że wyświetla się on poprawnie, ale zmienia się po interakcji z nim.

Obejście polega na otwarciu Narzędzi programisty w Chrome lub FireBug w Firefoksie, wybraniu łącza z inspektorem elementów i skopiowaniu zawartości atrybutu href. Wymaga to otwarcia 2 okien, więc nie jest to najwygodniejszy przepływ pracy na mniejszych ekranach.

Mogłeś to zrobić, View sourceale wyszukiwanie dynamiczne Google czasami powoduje dziwne źródło. Ponadto, aby znaleźć link w źródle, musisz zapamiętać jego tytuł, ponieważ nie ma selektora wizualnego, jak w Narzędziach programisty i FireBug.

dnbrv
źródło
1
To denerwująco kręte obejście, bardziej skomplikowane niż wyszukiwanie w w3m. Czy istnieje sposób, aby raz na zawsze wyłączyć przekierowanie za pomocą skryptu użytkownika?
Gilles
1
Właśnie wypróbowałem tylko 2 skrypty na www.userscripts.org, które twierdzą, że właśnie to robią (najnowszy z nich jest z lutego 2011 r.). Żadne z nich nie działa w Chrome ani Firefox / Greasemonkey.
dnbrv
10

Korzystając z Safari, łatwo jest stworzyć własne rozszerzenie do obsługi tego. Użyłem Develop> Show Extension Builder i dodałem „www.google.com” jako dozwoloną domenę, a następnie następujący skrypt jako skrypt końcowy w sekcji Wstrzykiwane rozszerzenie :

if (window.top === window) {
    var els = document.getElementsByClassName("l");
    for (var i in els) {
        els[i].onmousedown = undefined;
    }
}
Flinn
źródło
To brzmi jak przydatne podejście, ale konstruktor rozszerzeń wydaje się być przerobiony od czasu twojej odpowiedzi. Nie mogę tego uruchomić.
Michiel de Mare,
10

Rozwiązania bez rozszerzenia przeglądarki lub JavaScript

Jeśli chcesz zachować przekierowanie Google i tylko selektywnie skopiować i wkleić niektóre adresy URL tutaj, istnieją inne możliwości, które nie wymagają żadnych zmian w przeglądarce. Niestety, chociaż rozwiązania działają w Firefoksie, nie działają już w Chrome i Internet Explorerze.

Rozwiązanie z klawiaturą (testowane w systemie Linux i Windows):
Przejdź do żądanego linku wyniku wyszukiwania:

  • w przeglądarce Firefox: użyj Tabi Shift+, Tababy poruszać się między linkami;
  • w Chrome: naciśnij, Tababy przenieść fokus na stronę, a następnie Upi Downaby przechodzić między wynikami wyszukiwania. („Kopiuj adres linku” jest niedostępny, jeśli osiągniesz wynik wyszukiwania za pomocą Tab.)

Następnie naciśnij klawisz menu kontekstowego lub Shift+ F10i wybierz „Kopiuj adres linku” / „Kopiuj adres linku” (klawisz skrótu: Aw języku angielskim Firefox, Ew języku angielskim Chrome).

Przyspieszenie nawigacji po klawiaturze za pomocą myszy:
Aby przyspieszyć nawigację w przeglądarce za pomocą myszy, możesz kliknąć biały znak lub tekst niepowiązany przed linkiem, a następnie nacisnąć Tab. Możesz także przełączyć się do nawigacji karetką za F7pomocą klawiszy kursora lub Tab.

Rozwiązanie tylko za pomocą myszy:
W niektórych przeglądarkach i środowiskach (np. Firefox w systemie Windows) można nacisnąć prawy przycisk myszy poza linkiem, przesunąć kursor myszy, trzymając wciśnięty przycisk, a następnie zwolnić przycisk na linku, aby wywołać menu kontekstowe.

Objaśnienie:
Opisane sposoby onmousedownpozwalają uniknąć klikania myszą linku i wywoływania zdarzenia, które powoduje konwersję oryginalnego adresu URL. Pamiętaj, że jeśli kliknąłeś już link, musisz ponownie załadować stronę wyników wyszukiwania ( F5), aby odzyskać oryginalny adres URL.

pabouk
źródło
Na klawiaturze Mac nie ma klawisza F10. Jakieś instrukcje dla komputerów Mac?
samthebrand,
@SamtheBrand: Nie pisz, że coś działa tylko w systemie Windows, jeśli nie działa w systemie Mac. Czy to jedyne systemy operacyjne? Z radością korzystam z tego rozwiązania w systemie Linux. --- Jak wyjaśnia odpowiedź, celem rozwiązania jest otwarcie menu kontekstowego łącza za pomocą klawiatury. Nie mam doświadczenia z komputerami Mac, ale jak rozumiem, są one bardzo ograniczone, jeśli chodzi o kontrolę bez myszy. Być może Ty jako użytkownik komputera Mac możesz znaleźć rozwiązanie łatwiejsze. Wygląda na to, że Mac + Space jest możliwy w przeglądarce Firefox: bugzilla.mozilla.org/show_bug.cgi?id=81727
pabouk
@SamtheBrand: Również tutaj: blogs.uoregon.edu/developments/2010/10/15/ ... Myślę, że inne rozwiązanie nie będzie działać, ponieważ prawdopodobnie emuluje naciśnięcie przycisku myszy: en.wikipedia.org/wiki/Context_menu#Implementation
pabouk
Przepraszamy, masz rację, że to nie „tylko Windows”. Czy jest szansa na edytowanie (świetnej) odpowiedzi w celu uwzględnienia informacji podanych w komentarzach tutaj? To pytanie, twoja odpowiedź i inne tutaj wkrótce zostaną udostępnione w Lifehacker. Byłoby wspaniale, gdybyśmy mogli dostarczyć edytory na czas!
samthebrand,
@SamtheBrand: Zedytuję odpowiedź, ale czy mógłbyś potwierdzić, czy Mac ** + ** Space działa w Firefoksie na Macu i ewentualnie wypróbować inne możliwości / w innych przeglądarkach (tej, którą zamieściłem na Wikipedii)? Przy okazji, której klawiatury Mac brakuje F10? Znalazłem zdjęcia wielu układów i wszystkie miały F10, ale i tak jestem prawie pewien, że Shift ** + ** F10 nie wyświetla menu kontekstowego na Macu.
pabouk
8

Często mnie to denerwuje. Tak więc moim prostym rozwiązaniem jest użycie mobilnej wersji witryny Google:

http://www.google.com/pda
lub
http://www.google.com/m (ten link nie działa w IE ).

Strony te podadzą Ci adresy URL, które prowadzą bezpośrednio do stron docelowych, bez przekierowywania.

Pamiętaj, że wyniki wyszukiwania z tych witryn będą nieco inne niż zwykłe (przy użyciu google.com).

happyrabbit
źródło
2
nie działa dają mi te same przekierowania
siamii
2
Link google.com/m działał dla mnie w IE8, ale nadal przekierowuje. google.com/pda daje bezpośrednie linki po otwarciu w Firefox 6 i IE 8 (wersje, na których testowałem), ale nie w Chrome 16
mvark
1
Kolejnym (prawdopodobnie lepszym) jest http://www.google.com/custom .
pabouk
7

Po prostu wklej to na pasku adresu URL i naciśnij enter:

javascript:alert(unescape(prompt("URL","").match("url=([^&]*)")[1]))
użytkownik22610
źródło
5

Mam ten sam problem.

Jest tu narzędzie online, które uważam za przydatne:

Narzędzie online - Konwertuj link Google na bezpośredni link, aby ułatwić kopiowanie i wklejanie

Wystarczy dodać zakładkę do tej strony, a następnie wkleić „przerażające adresy URL” do formularza, aby przekonwertować je na zwykłe linki.

JW01
źródło
Podobny Cleaner URL wyników wyszukiwania Google dostępny pod adresem urlclean.com, jak wspomniano na forum mozilla.general Wyczyść adresy URL z wyszukiwarki Google
Mister_Tom
1

W przypadku krótszych linków zaznaczenie zielonego tekstu jest w porządku. W przypadku dłuższych linków z wielokropkiem, po prostu otwieram link i chwytam adres URL z adresu / awesome / omnibar.

AGMLego
źródło
14
tak, ale kliknięcie linku i załadowanie całej witryny tylko po to, abyśmy mogli skopiować cholerny adres URL, jest powolne i ... niewygodne.
Jeff Atwood,
8
Nie działa to, jeśli połączony dokument to taki, który przeglądarka otwiera w innej aplikacji (np. PDF).
Skomplikowane, patrz bio
2
@Complicatedseebio lub jeśli strona przekierowuje natychmiast (a chcesz na przykład wyszukać w archiwach internetowych!)
Andriy Drozdyuk