Ręczne dodawanie skryptu użytkownika do przeglądarki Google Chrome

161

Zamiast „instalować” skrypty użytkownika, znalazłem w sieci wiele samouczków, aby dodać je ręcznie. Wszyscy powiedzieli mi, żebym zrobił te same kroki:

  • Utwórz katalog C: \ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ User Scripts
  • Umieść tam plik .js, który zawiera skrypt użytkownika
  • Uruchom Chrome z parametrem --enable-user-scripts

Zrobiłem to - ale mój skrypt demo nic nie robi:

// ==UserScript==
// @name           Test
// @description    Test
// @include        http://example.com/*
// @version        1.0
// ==/UserScript==

alert(0);

Co ja robię źle?

YMMD
źródło
2
Obsługa katalogu skryptów użytkownika została usunięta w 2011 r. Zobacz Czy katalog skryptów użytkownika nadal działa w przeglądarce Chrome 13.0 ?: http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with- chrome-13-0 # comment8333680_6979021 .
XP1

Odpowiedzi:

240

Najlepszą rzeczą do zrobienia jest zainstalowanie rozszerzenia Tampermonkey .

Umożliwi to łatwą instalację skryptów Greasemonkey i łatwe zarządzanie nimi. Ułatwia również instalowanie skryptów użytkownika bezpośrednio z witryn takich jak OpenUserJS , MonkeyGuts itp.

Wreszcie, odblokowuje większość funkcji GM, których nie można uzyskać, instalując skrypt GM bezpośrednio w Chrome. Oznacza to, że więcej tego, co potrafi GM on Firefox, jest dostępnych w Tampermonkey.


Ale jeśli naprawdę chcesz bezpośrednio zainstalować skrypt GM, w dzisiejszych czasach w Chrome jest to łatwe ...

Chrome po około sierpniu 2014 r .:

Nadal możesz przeciągnąć plik na stronę rozszerzeń i będzie on działał ... Dopóki nie uruchomisz ponownie Chrome. Wtedy zostanie trwale wyłączony. Aby uzyskać więcej informacji, zobacz Dalszą „ochronę” użytkowników Chrome przed złośliwymi rozszerzeniami . Ponownie, Tampermonkey to sprytna droga. (Lub całkowicie przełącz przeglądarki na Opera lub Firefox).

Chrome 21+:

Chrome zmienia sposób instalowania rozszerzeń . Skrypty użytkownika to okrojone rozszerzenia w Chrome, ale. Począwszy od Chrome 21 , zachowanie związane z klikaniem linków jest wyłączone dla skryptów użytkownika . Aby zainstalować skrypt użytkownika, przeciągnij plik **. User.js * na stronę Rozszerzenia ( chrome://extensionsw polu wprowadzania adresu).

Starsze wersje Chrome:

Po prostu przeciągnij pliki **. User.js * do dowolnego okna Chrome. Lub kliknij dowolny link do skryptu Greasemonkey.

Otrzymasz ostrzeżenie dotyczące instalacji:
Wstępne ostrzeżenie

Kliknij Kontynuuj .


Pojawi się okno dialogowe z potwierdzeniem:
okno dialogowe potwierdzenia

Kliknij Dodaj .


Uwagi:

  1. Skrypty zainstalowane w ten sposób mają ograniczenia w porównaniu ze skryptem Greasemonkey (Firefox) lub skryptem Tampermonkey. Zobacz skrypty użytkownika w różnych przeglądarkach, sekcja Chrome .

Kontrolowanie skryptu i nazwy:

Domyślnie Chrome instaluje skrypty w folderze Rozszerzenia 1 , pełne tajemniczych nazw i numerów wersji. Jeśli spróbujesz ręcznie dodać skrypt w tym drzewie folderów, zostanie on wyczyszczony przy następnym uruchomieniu Chrome.

Aby kontrolować katalogi i nazwy plików w coś bardziej znaczącego, możesz:

  1. Utwórz wygodny dla siebie katalog, a nie taki, w którym Chrome zwykle szuka rozszerzeń . Na przykład można utworzyć: C:\MyChromeScripts\.

  2. Dla każdego skryptu utwórz własny podkatalog. Na przykład HelloWorld.

  3. W tym podkatalogu utwórz lub skopiuj plik skryptu. Na przykład, Zapisz kod to pytanie jako: HelloWorld.user.js.

  4. Musisz również utworzyć plik manifestu w tym katalogu, musi być nazywany manifest.json.

    W naszym przykładzie powinien zawierać:

    {
        "manifest_version": 2,
        "content_scripts": [ {
            "exclude_globs":    [  ],
            "include_globs":    [ "*" ],
            "js":               [ "HelloWorld.user.js" ],
            "matches":          [   "https://stackoverflow.com/*",
                                    "https://stackoverflow.com/*"
                                ],
            "run_at": "document_end"
        } ],
        "converted_from_user_script": true,
        "description":  "My first sensibly named script!",
        "name":         "Hello World",
        "version":      "1"
    }

    manifest.jsonPlik jest automatycznie generowana z meta-bloku przez Chrome, gdy jest zainstalowany skrypt użytkownika. Wartości @includei @excludemeta-reguły są przechowywane w include_globsa exclude_globs, @match(zalecane) są przechowywane w matchesliście. "converted_from_user_script": truejest wymagane, jeśli chcesz użyć dowolnej z obsługiwanych GM_*metod .

  5. Teraz w menedżerze rozszerzeń Chrome (URL = chrome: // extensions / ) rozwiń „Tryb programisty” .

  6. Kliknij Wczytaj rozszerzenie ... przycisk.

  7. Folderu, wklej w folderze na swoim skrypcie, w tym przykładzie jest to: C:\MyChromeScripts\HelloWorld.

  8. Twój skrypt jest teraz zainstalowany i działa!

  9. Jeśli wprowadzisz jakiekolwiek zmiany w źródle skryptu, kliknij link Odśwież, aby odniosły skutek:

    Odśwież link




1 Folder domyślnie:

Windows XP:
  Chrome:% AppData% \ .. \ Ustawienia lokalne \ Dane aplikacji \ Google \ Chrome \ Dane użytkownika \ Default \ Extensions \
  Chromium:% AppData% \ .. \ Ustawienia lokalne \ Dane aplikacji \ Chromium \ Dane użytkownika \ Default \ Extensions \

Windows Vista / 7/8:
  Chrome:% LocalAppData% \ Google \ Chrome \ User Data \ Default \ Extensions \
  Chromium:% LocalAppData% \ Chromium \ User Data \ Default \ Extensions \

Linux:
  Chrome: ~ / .config / google-chrome / Default / Extensions /
  Chromium: ~ / .config / chromium / Default / Extensions /

Mac OS X:
  Chrome: ~ / Library / Application Support / Google / Chrome / Default / Extensions /
  Chromium: ~ / Library / Application Support / Chromium / Default / Extensions /

Chociaż możesz to zmienić, uruchamiając Chrome z --user-data-dir=opcją.

Brock Adams
źródło
1
Świetna odpowiedź - zaktualizowano w celu uwzględnienia nowej zasady Chrome „tylko sklep internetowy”. Możesz tylko przeciągać pliki .user.js do okna Rozszerzenia.
crb
2
@ColonelPanic, Niestety, nie możesz. Manifest wygenerowany automatycznie nie jest obecnie zgodny z procesem rozszerzenia! Nie używa "manifest_version": 2, co jest teraz wymagane. Użyj przykładu w odpowiedzi jako kopii początkowej (lub przynajmniej nie zapomnij o "manifest_version": 2). ... Google konfiguruje wszystkie „normalne” skrypty użytkownika tak, aby nie działały w oczekującej wersji, chyba że wkrótce zmienią proces auto-manifestacji.
Brock Adams
1
@brock Po prostu przeciągnąłem i upuściłem mój skrypt użytkownika w oknie rozszerzeń, jak druga odpowiedź, i teraz nie muszę się martwić o weryfikację Tampermonkey. Po prostu zadziałało. :)
Bjorn,
1
@brock Wiem, że to masz, ale biorąc pod uwagę twoją rekomendację używania Tampermonkey, rozszerzenia, które wymaga dostępu do wszystkich informacji o twoich stronach bankowych, do twojego facebooka, do wszystkiego, druga odpowiedź jest lepsza. A jeśli chodzi o `` sprawdzone '', nikt nie może absolutnie nic zrobić, aby sprawdzić rozszerzenie Chrome, ponieważ możesz je automatycznie aktualizować, aby robić złe rzeczy w dowolnym momencie, a następnie aktualizować je ponownie, aby to ukryć. Za każdym razem musiałbyś sprawdzać każdą zmianę. To pozwolenie na wszystko. Wszystko.
Bjorn
1
@marshmellooooooos, nadal działa dla mnie (Chrome 54.0.2840.99 m). Jeśli nie możesz zmusić go do pracy, zainstaluj Tampermonkey lub otwórz nowe pytanie z DOKŁADNYMI szczegółami tego, co próbowałeś.
Brock Adams
53

Aktualizacja 2016: wydaje się, że znowu działa.

Aktualizacja z sierpnia 2014 r .: nie działa już od najnowszych wersji Chrome.


Tak, nowy stan rzeczy jest do niczego. Na szczęście nie jest to takie trudne, jak sugerują inne odpowiedzi.

  1. Przeglądaj w przeglądarce Chrome do chrome://extensions
  2. Przeciągnij .user.jsplik na tę stronę.

Voila. Możesz także przeciągnąć pliki z paska stopki pobierania na kartę rozszerzeń.

Chrome automatycznie utworzy manifest.jsonplik w katalogu rozszerzeń, który udokumentował Brock .

<3 Wolność.

Colonel Panic
źródło
15
upewnij się, że nazwa pliku jest taka jak <nazwa skryptu> .user.js, w przeciwnym razie chrome nie rozpozna go jako rozszerzenia
Paco
1
@AlexTracer U mnie działa na Chromium 33. Może robisz coś nie tak.
użytkownik7610
4
Już nie działa w Chrome 36. Dodane w ten sposób skrypty użytkownika zawierają komunikat: „tego rozszerzenia nie ma na liście w Chrome Web Store i mogło zostać dodane bez Twojej wiedzy”, a pole wyboru włączania jest wyłączone.
Protector One
2
To działa dla mnie w Chrome 51 i nie używam żadnych parametrów wiersza poleceń. Może ponownie to zmienili?
Zbuntowany
6
Właśnie wypróbowałem to (Chrome 60) i zostałem wysłany na stronę z komunikatem „Rozszerzenia, które nie zostały opublikowane w Chrome Web Store, są wyszarzone i nie będzie można ich ponownie włączyć”. Brzmi jak zachowanie z sierpnia 2014 roku. Nie jestem pewien, czy wyłączyli to ponownie, czy po prostu mi czegoś brakuje.
Pojawia się
11

Ten parametr działa u mnie:

--enable-easy-off-store-extension-install

Wykonaj następujące czynności:

  1. Kliknij prawym przyciskiem myszy ikonę „Chrome”.
  2. Wybierz właściwości
  3. Na końcu linii docelowej umieść następujące parametry: --enable-easy-off-store-extension-install
  4. Powinien wyglądać następująco: chrome.exe --enable-easy-off-store-extension-install
  5. Uruchom przeglądarkę Chrome, klikając dwukrotnie ikonę
joeytwiddle
źródło
Dostałem to od superuser.com/questions/450893/ ...
joeytwiddle
1
Administratorzy mogą również tworzyć zasady dla wszystkich użytkowników, z dozwolonymi adresami URL umieszczonymi na białej liście według wzorca: chromium.org/administrators/ ...
joeytwiddle.
Czy naprawdę muszę usunąć stary skrypt i zainstalować go zupełnie nowy, przeciągając go ponownie do przeglądarki, kiedy edytuję rzeczy? Czy jest łatwiejszy sposób?
YMMD
Aby zaktualizować skrypt, przechodzę do niego w systemie plików lub na serwerze sieciowym i klikam, aby zainstalować; Chrome zastępuje starą wersję. Jeśli tworzysz skrypt i nie chcesz go instalować, wypróbuj hybrydę bookmarklet / usercript: stackoverflow.com/questions/1810885/ ...
joeytwiddle
Mmmm tak, wygląda na to, że celowo wyłączyli
joeytwiddle
1

Udostępniaj i instaluj skrypt użytkownika jednym kliknięciem

Aby wykonać automatyczną instalację (ale ręcznie potwierdzić), możesz utworzyć gist (gist.github.com) z <filename>.user.jsnazwą pliku, aby uzyskać instalację po kliknięciu po kliknięciu Raw i wyświetleniu tej strony:

Strona instalacji

Jak to zrobić ?

  1. Nazwij treść <filename>.user.js, napisz kod i kliknij „Utwórz”.
    Utwórz plik na podstawie treści

  2. Na stronie głównej kliknij Raw, aby uzyskać stronę instalacji (pierwszy ekran).
    Surowy przycisk

  3. Sprawdź kod i zainstaluj go.

A-312
źródło
0

Odpowiedź kwietnia 2020

W Chromium 81+ znalazłem odpowiedź: przejdź do chrome: // extensions /, kliknij, aby włączyć tryb programisty w prawym górnym rogu, a następnie przeciągnij i upuść skrypt .user.js.

user1461607
źródło
W Chrome (nie Chromium) to nie działa dla mnie. Mówi, że nie pochodzi ze sklepu internetowego Chrome i wymusza wyłączenie.
Monkpit