Aggiunta manuale di un Userscript a Google Chrome


162

Invece di "installare" User-Scripts ho trovato molti tutorial sul web per aggiungerlo manualmente. Tutti mi hanno detto di fare gli stessi passi:

  • Crea la directory C: \ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ User Scripts
  • Inserire un file .js lì, che contiene lo User-Script
  • Avvia Chrome con il parametro --enable-user-scripts

L'ho fatto - ma il mio script demo non fa nulla:

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

alert(0);

Che cosa sto facendo di sbagliato?


2
Il supporto della directory degli script utente è stato rimosso nel 2011. Vedi La directory Script utente funziona ancora con Chrome 13.0 ?: http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with- chrome-13-0 # comment8333680_6979021 .
XP1,

Risposte:


241

La cosa migliore da fare è installare l' estensione Tampermonkey .

Ciò ti consentirà di installare facilmente gli script Greasemonkey e di gestirli facilmente. Inoltre semplifica l'installazione di script utente direttamente da siti come OpenUserJS , MonkeyGuts , ecc.

Infine, sblocca la maggior parte delle funzionalità GM che non ottieni installando uno script GM direttamente con Chrome. Cioè, più di ciò che GM può fare su Firefox, è disponibile con Tampermonkey.


Ma, se vuoi davvero installare direttamente uno script GM, al giorno d'oggi su Chrome è facile avere problemi ...

Chrome Dopo circa agosto 2014:

Puoi ancora trascinare un file nella pagina delle estensioni e funzionerà ... Fino al riavvio di Chrome. Quindi sarà permanentemente disabilitato. Consulta Continuare a "proteggere" gli utenti di Chrome da estensioni dannose per ulteriori informazioni. Ancora una volta, Tampermonkey è la strada intelligente da percorrere. (O cambia completamente i browser su Opera o Firefox.)

Chrome 21+:

Chrome sta cambiando il modo in cui sono installate le estensioni . Gli script utente sono estensioni ridotte su Chrome ma. A partire da Chrome 21 , il comportamento link-clic è disabilitato per gli script utente . Per installare uno script utente, trascina il file **. User.js * nella pagina Estensioni ( chrome://extensionsnell'input dell'indirizzo).

Versioni precedenti di Chrome:

Trascina semplicemente i tuoi file **. User.js * in qualsiasi finestra di Chrome. Oppure fai clic su qualsiasi link di script Greasemonkey.

Riceverai un avviso di installazione:
Avvertimento iniziale

Fai clic su Continua .


Otterrai una finestra di conferma:
finestra di dialogo di conferma

Clicca Aggiungi .


Appunti:

  1. Gli script installati in questo modo hanno limitazioni rispetto a uno script Greasemonkey (Firefox) o uno script Tampermonkey. Vedi la sezione Scripting utente cross-browser, sezione Chrome .

Controllo dello script e del nome:

Per impostazione predefinita, Chrome installa gli script nella cartella Extensions 1 , piena di nomi criptici e numeri di versione. E, se provi ad aggiungere manualmente uno script sotto questo albero delle cartelle, verrà cancellato al successivo riavvio di Chrome.

Per controllare le directory e i nomi dei file su qualcosa di più significativo, puoi:

  1. Crea una directory a te conveniente e non dove Chrome cerca normalmente le estensioni . Ad esempio, creare: C:\MyChromeScripts\.

  2. Per ogni script creare la propria sottodirectory. Ad esempio HelloWorld,.

  3. In quella sottodirectory, crea o copia il file di script. Ad esempio, salvare il codice di questa domanda come: HelloWorld.user.js.

  4. È inoltre necessario creare un file manifesto in quella sottodirectory, essa deve essere denominato: manifest.json.

    Per il nostro esempio, dovrebbe contenere:

    {
        "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"
    }

    Il manifest.jsonfile viene generato automaticamente dal meta-blocco da Chrome, quando è installato uno script utente. I valori di @includee @excludemeta-regole sono memorizzati include_globse exclude_globs, @match(consigliato) è memorizzato matchesnell'elenco. "converted_from_user_script": trueè necessario se si desidera utilizzare uno dei metodi supportatiGM_* .

  5. Ora, in Gestione estensioni di Chrome (URL = chrome: // extensions / ), espandi "Modalità sviluppatore" .

  6. Fai clic sul pulsante Carica estensione non compressa ...

  7. Per la cartella, incollare nella cartella per lo script, in questo esempio è: C:\MyChromeScripts\HelloWorld.

  8. Il tuo script è ora installato e operativo!

  9. Se si apportano modifiche alla fonte dello script, premere il collegamento Ricarica affinché abbiano effetto:

    Ricarica link




1 La cartella predefinita è:

Windows XP:
  Chrome:% AppData% \ .. \ Impostazioni locali \ Dati applicazioni \ Google \ Chrome \ Dati utente \ Predefinito \ Estensioni \
  Chromium:% AppData% \ .. \ Impostazioni locali \ Dati applicazioni \ Chromium \ Dati utente \ Predefinito \ Estensioni \

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

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

Mac OS X:
  Chrome: ~ / Libreria / Supporto applicazioni / Google / Chrome / Predefinito / Estensioni /
  Chromium: ~ / Library / Application Support / Chromium / Default / Extensions /

Sebbene sia possibile modificarlo eseguendo Chrome con l' --user-data-dir=opzione.


1
Ottima risposta: aggiornata per riflettere la nuova norma "solo Web store" di Chrome. Puoi solo trascinare i file .user.js nella finestra Estensioni.
crb

2
@ColonelPanic, Purtroppo, no, non puoi. Il manifest generato automaticamente non è attualmente compatibile con il processo di estensione! Non usa "manifest_version": 2, che ora è richiesto. Usa l'esempio nella risposta come copia iniziale (o almeno non dimenticare "manifest_version": 2). ... Google sta impostando tutti gli script utente "normali" in modo da non riuscire in una versione in sospeso, a meno che non cambino presto il processo di manifest automatico.
Brock Adams,

1
@brock Ho appena trascinato e lasciato cadere il mio script utente nella finestra delle estensioni come la seconda risposta e ora non devo preoccuparmi del controllo di Tampermonkey. Ha appena funzionato. :)
Bjorn,

1
@brock So che ce l'hai, ma data la tua raccomandazione di usare Tampermonkey, un'estensione che richiede l'accesso a tutte le informazioni dei tuoi siti bancari, a Facebook, a tutto, la seconda risposta è migliore. E per quanto riguarda 'controllato', non c'è assolutamente nulla che chiunque possa fare per controllare un'estensione di Chrome in quanto puoi aggiornarli automaticamente per fare cose cattive in qualsiasi momento, quindi aggiornarli di nuovo per nasconderlo. Dovresti controllare ogni cambiamento ogni volta. Sono permessi per tutto. Qualunque cosa.
Bjorn,

1
@marshmellooooooos, funziona ancora per me (Chrome 54.0.2840.99 m). Se non è possibile farlo funzionare, installare Tampermonkey o aprire una nuova domanda con ESATTE dettagli di ciò che si è tentato.
Brock Adams,

53

Aggiornamento 2016: sembra funzionare di nuovo.

Aggiornamento agosto 2014: non funziona più dalle ultime versioni di Chrome.


Sì, il nuovo stato di cose fa schifo. Fortunatamente non è così difficile come implicano le altre risposte.

  1. Sfoglia in Chrome per chrome://extensions
  2. Trascina il .user.jsfile in quella pagina.

Ecco. Puoi anche trascinare i file dalla barra a piè di pagina dei download nella scheda estensioni.

Chrome creerà automaticamente un manifest.jsonfile nella directory delle estensioni documentata da Brock .

<3 Libertà.


15
assicurati che il nome del file sia come <scriptname> .user.js, altrimenti Chrome non lo riconosce come estensione
Paco

1
@AlexTracer Funziona per me su Chromium 33. Forse stai sbagliando qualcosa.
user7610

4
Non funziona più in Chrome 36. Gli script utente aggiunti in questo modo vengono forniti con il messaggio: "questa estensione non è elencata nel Chrome Web Store e potrebbe essere stata aggiunta a tua insaputa" e la casella di controllo abilita è disabilitata.
Protettore un

2
Questo funziona per me in Chrome 51 e non sto usando alcun parametro della riga di comando. Forse l'hanno cambiato di nuovo?
Miscreant,

6
Ho appena provato questo (Chrome 60) e sono stato inviato a una pagina che dice "Le estensioni che non sono state pubblicate sul Chrome Web Store sono disattivate e non potrai riaccenderle". Sembra il comportamento di agosto 2014. Non sono sicuro che abbiano disabilitato di nuovo questo o sono solo io a perdere qualcosa.
Viene visualizzato il

11

Questo parametro funziona per me:

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

Eseguire le seguenti operazioni:

  1. Fai clic destro sull'icona "Chrome".
  2. Scegli le proprietà
  3. Alla fine della linea target, posizionare questi parametri: --enable-easy-off-store-extension-install
  4. Dovrebbe apparire come: chrome.exe --enable-easy-off-store-extension-install
  5. Avvia Chrome facendo doppio clic sull'icona


1
Gli amministratori possono anche creare una politica per tutti gli utenti, con gli URL consentiti autorizzati dalla sequenza: chromium.org/administrators/…
joeytwiddle,

Devo davvero eliminare il vecchio script e installarlo completamente nuovo trascinandolo di nuovo nel browser quando ho modificato le cose? O c'è un modo più semplice?
YMMD

Per aggiornare uno script, navigo su di esso sul filesystem o sul server web e faccio clic per installare; Chrome sovrascrive la vecchia versione. Se si sta sviluppando uno script e non si desidera mantenere l'installazione, provare un bookmarklet / ibrido userscript: stackoverflow.com/questions/1810885/...
joeytwiddle

Mmmm sì sembra che abbiano disabilitato il caricamento laterale di proposito: blog.chromium.org/2018/06/…
joeytwiddle

1

Condividi e installa userscript con un clic

Per eseguire l'installazione automatica (ma confermare manualmente), puoi creare gist (gist.github.com) con il <filename>.user.jsnome file per ottenere l'installazione al clic quando fai clic su Raw e ottieni questa pagina:

Pagina di installazione

Come fare questo ?

  1. Dai un nome al tuo nome <filename>.user.js, scrivi il tuo codice e fai clic su "Crea".
    Crea file su gist

  2. Nella pagina principale, fare clic su Raw per ottenere la pagina di installazione (prima schermata).
    Pulsante Raw

  3. Controlla il codice e installalo.


0

Risposta di aprile 2020

In Chromium 81+ ho trovato la risposta: vai su chrome: // extensions /, fai clic per abilitare la Modalità sviluppatore nell'angolo in alto a destra, quindi trascina e rilascia lo script .user.js.


In Chrome (non Chromium) questo non funziona per me. Dice che non proviene dal Chrome Web Store e lo costringe a essere disabilitato.
Monkpit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.