Zauważyłem, że niektóre witryny (np. Witryny Stack Exchange, Dell itp.) Są automatycznie dodawane do mojej listy wyszukiwarek w Google Chrome.
Dodają nawet skrót klawiaturowy do swojego wpisu. Oto kilka przykładów:
- Dell: Klawiatura -> Dell.com
- Stack Exchange Web master: Klawiatura -> webmasters.stackexchange.com
- Reuters: Klawiatura -> reuters.com
P1: Czy jest to domyślne zachowanie w Chrome? (aby witryny mogły się dodać do listy wyszukiwarek?)
P2: Czy można wyłączyć to zachowanie w Chrome?
Uwaga: korzystam z najnowszej wersji Chrome: 11.0.696.57 na Windows 7 64 i mam zainstalowane tylko jedno rozszerzenie: skracacz URL Google.
google-chrome
search-engines
Amelio Vazquez-Reina
źródło
źródło
Odpowiedzi:
Dzięki kodowi @ 10basetom i zainspirowanemu przez @shthed wydałem rozszerzenie Nie dodawaj niestandardowych wyszukiwarek Chrome, które właśnie to robi.
Znajdziesz kod źródłowy tutaj .
Powiedz mi co myślisz!
źródło
.../src
jako rozpakowane rozszerzenie. Daj mi znać jak idzie. Dzięki!To sprawiło, że byłem absolutnie szalony, więc znalazłem hackerskie, ale skuteczne rozwiązanie tego problemu.
Chrome przechowuje swoje wyszukiwarki w prostej bazie danych sqlite3. Odkryłem, że możesz utworzyć wyzwalacz, gdy chrome pójdzie dodać wyszukiwarkę, która powoduje ignorowanie instrukcji wstawiania bazy danych.
Zauważ, że wyszukiwarki są nadal przechowywane w pamięci, więc będą pojawiać się na liście aż do ponownego uruchomienia przeglądarki . Jednak nie będziesz musiał ich cały czas usuwać, więc jeśli chcesz dodać własne wyszukiwarki, nie musisz się martwić o przypadkowe usunięcie ich (tak, ręczne dodawanie wyszukiwarek nadal będzie działać).
Najpierw musisz zlokalizować
Web data
plik.Mac OS X:
~/Library/Application Support/Google/Chrome/Default/Web Data
XP:
C:\Documents and Settings\<username>\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data
Vista / 7:
C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Web Data
Linux:
~/.config/google-chrome/Default/Web Data
lub~/.config/chromium/Default/Web Data
Następnie otwórz go za pomocą edytora sqlite3.
W tym momencie Chrome musi zostać zamknięty.
Oficjalna strona internetowa sqlite ma stronę pobierania ze wstępnie skompilowanym narzędziem wiersza poleceń dla różnych systemów operacyjnych. Chociaż każdy edytor zdolny do pracy z bazami danych sqlite3 będzie działał.
W przypadku narzędzia wiersza polecenia użyj polecenia takiego jak poniżej (nie zapomnij uciec lub zacytować spację w nazwie pliku):
Dodaj wyzwalacz.
Jesteś skończony. Zamknij edytor i ponownie uruchom Chrome.
Działa to tak, że gdy chrome idzie do automatycznego dodawania wyszukiwarki do
keywords
tabeli, chrome ustawiaoriginating_url
pole na stronę, z której pochodzi. Wyzwalacz zasadniczo szuka wszelkich wstawek z niepustymoriginating_url
polem iRAISE(IGNORE)
powoduje, że polecenie jest cicho pomijane.Ręcznie dodane wyszukiwarki nie mają
originating_url
, więc wyzwalacz pozwala je dodać.źródło
"Error: unable to open database "~/Library/Application Support/Google/Chrome/Default/Web Data": unable to open database file
). 3 / jeśli spróbujesz uruchomićCREATE TRIGGER
polecenie, gdy Chrome jest otwarty, możesz goError: database is locked
najpierw zamknąć. 4 / po zamknięciu przeglądarki Chrome otworzyła się baza danych z powodzeniem działała:/Volumes/Macintosh\ HD/Applications/sqlite3 ./Web\ Data
(wTerminal
, gdy w podanym katalogu) HTHMożna to zrobić na dwa sposoby:
Dodaj ten skrypt użytkownika do Tamper Monkey :
Jeśli nie jesteś zwykłym użytkownikiem Tamper Monkey i nie masz ochoty marnować 15-20 MB pamięci RAM, aby załadować rozszerzenie Tamper Monkey w tym celu, możesz rzucić własne superlekkie rozszerzenie, które nie zużywa pamięci . Instrukcje znajdują się poniżej.
Jak utworzyć własne rozszerzenie, aby usunąć
<link>
tag OpenSearch i uniemożliwić Chromeowi automatyczne dodawanie wyszukiwarek:Utwórz folder, w którym będziesz umieszczać pliki rozszerzeń.
W tym folderze utwórz dwa pliki tekstowe o nazwie
manifest.json
icontent.js
zawierające kod podany poniżej.manifest.json
content.js
W Chrome przejdź do
chrome://extensions/
(wprowadź to w pasku adresu URL).Włącz tryb programisty.
Kliknij „Załaduj rozpakowane rozszerzenie”, wybierz folder utworzony w kroku 1 i kliknij „OK”.
Gratulacje! Teraz Google Chrome powinien być nieco mniej denerwujący w użyciu :-).
Ograniczenie: To rozwiązanie nie jest w 100% niezawodne. Jeśli przejdziesz do adresu URL zawierającego parametr wyszukiwania (np. Https://cdnjs.com/#q=fastclick ), w rzadkich przypadkach nadal zostanie dodana niestandardowa wyszukiwarka. Podejrzewam,
<link>
że dzieje się tak, ponieważ Chrome może przeanalizować tag OpenSearch, zanim skrypt użytkownika lub rozszerzenie będzie miało szansę usunąć go z DOM.źródło
źródło
Tutaj nieco pospieszne obejście, które działa dobrze dla mnie. Po prostu zmień nazwę aliasu wyszukiwania na coś tajemniczego, na przykład „§ $%! / () & /” . Podczas gdy wyszukiwarka wciąż tam jest, nigdy więcej jej nie zobaczysz. Całkiem denerwujące, jeśli nie możesz wyszukiwać w „jenkins”, ponieważ chrome zmusza cię do szukania w jenkins.
źródło
jenkins
,jira
iconfluence
- to doprowadza mnie do szału, że absolutnie nie może zainicjować ogólną wyszukiwanie z moim pasku adresu do czegokolwiek związanego z tymi trzema. Jest to zdecydowanie najlepsze i jedyne działające obejście, jakie widziałem. Twoje zdrowie.jira
dokładnie! Chcę szukać o Jira, nie w tym!git
, a następnie spację, która natychmiast zmienia się, by używać wyszukiwarki git (którą usunąłem niezliczoną ilość razy).Spróbuj użyć tego prostego skryptu użytkownika:
źródło
manifest.json
(zgodnie z tą odpowiedzią SO i zainstalować go w trybiedocument.querySelector('[type="application/opensearchdescription+xml"]').remove();
(patrz moja odpowiedź poniżej).Aby szybko usunąć dużą liczbę wyszukiwarek, przejdź do chrome: // settings / searchEngines, naciśnij Ctrl-Shift-J (Opt-Cmd-J w OSX), aby wejść do konsoli Javascript i wklej to:
Być może trzeba będzie wkleić i uruchomić to kilka razy, aby wyczyścić wszystko.źródło
Jeśli rozumiem, co właściwie opisujesz, to wcale nie są to strony internetowe. Zamiast tego sam Chrome identyfikuje pola wyszukiwania w witrynach, a następnie dodaje je do listy opcji wyszukiwania na pasku omnibar.
A1: Tak, jest to zachowanie domyślne, ale to nie strony same się dodają, to Chrome dodaje strony.
A2: Nie sądzę, że można wyłączyć to zachowanie, ale można usunąć wyszukiwarki, przechodząc do menu narzędzi -> Opcje -> Zarządzaj wyszukiwarkami; pojawią się pod „Innymi wyszukiwarkami”. Być może możesz określić, że nie należy dodawać go ponownie po jego usunięciu, nie jestem pewien - przypadkiem podoba mi się ta funkcja, więc nie zamierzam jej usuwać.
źródło
Jednym z rozwiązań, jakie znalazłem w tym zakresie, jest nabycie nawyku rozpoczynania wszystkich poszukiwań spacją. Jeśli wpiszesz
・Splunk median
(gdzie・
oznacza spację), Chrome przeprowadzi wyszukiwanie w GoogleSplunk median
.źródło
<- Tło ->
Mam dla ciebie alternatywny, mniej ingerujący pomysł (przynajmniej jeśli prowadzisz blokadę reklam, ponieważ tak wielu z nas jest dla własnego zdrowia psychicznego / bezpieczeństwa). Lubię używać istniejących rozszerzeń / skryptów tak bardzo, jak to możliwe, aby uniknąć wzdęcia całego rozszerzenia tylko dla jednej funkcji (najgorszy scenariusz), więc to rozwiązanie działa zgodnie z tą zasadą.
Adblock i jego warianty / następcy (uBlock jest moją bronią z wyboru) mają zdolność blokowania elementów strony internetowej, w tym
<link>
elementów, które są używane do automatycznego wykrywania opisów OpenSearch (OSD), plików XML zawierających informacje, które pozwalają na automatyczne -dodanie wyszukiwarek i powoduje te bóle głowy. Mówię „zezwala”, ponieważ nie jest to obowiązkowe, ponieważ, o ile moje badania wykazały, Firefox po prostu czyta te informacje i udostępnia je w celu łatwego dodania w polu rozwijanym Wyszukiwarki, zamiast cichego automatycznego dodawania ich, tak jak robi to Chrome.Korzystanie z tej funkcji opisano w specyfikacjach Opensearch w wielu miejscach:
http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_RSS.2FAtom (zignoruj konkretną subtelność tej sekcji dla naszych celów, ponieważ jest to tylko przykład jej użycia)
<- Rozwiązanie ->
Ponieważ stwierdza, że opisy OpenSearch (OSD) mają unikalny typ, możemy je odfiltrować za pomocą następującej reguły AdblockPlus / uBlock:
##link[type="application/opensearchdescription+xml"]
Przetestowałem to i reguła pokazuje prawidłowe dopasowanie na moich stronach testowych (filehippo.com itp.), A wyszukiwarki nie dodają już automatycznego dodawania, więc uważam, że jest to pełne rozwiązanie.
Krótka notka na temat historii, którą znalazłem za tym: inżynierowie Chromium kilkakrotnie na przestrzeni lat oznaczyli ten „WontFix” (wielokrotnie żądano opcji / flagi wyłączania zaawansowanego użytkownika), stwierdzając, że jest to problem niszowy od czasu funkcja jest „ogólnie użyteczna”, ich stanowisko jest takie, że problemy niszowe powinny być rozwiązywane przez rozszerzenia lub skrypty firm trzecich, a nie przez deweloperów dodających niezliczone flagi i tym podobne, aby zaspokoić wszystkie zachcianki, więc w zasadzie to, co tutaj robimy, jest po prostu zgodnie z ich preferencjami i sprawia, że jest przyjemny i łatwy w zarządzaniu.
Powodzenia! Jeśli ktokolwiek spróbuje tego, daj nam znać, jak to działa!
źródło
application/opensearchdescription+xml
linku na stronie).