Ajout manuel d'un utilisateur à Google Chrome

162

Au lieu d '«installer» des scripts utilisateur, j'ai trouvé de nombreux tutoriels sur le Web pour les ajouter manuellement. Tous m'ont dit de faire les mêmes étapes:

  • Créez le répertoire C: \ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ User Scripts
  • Placez-y un fichier .js, qui contient le script utilisateur
  • Démarrez Chrome avec le paramètre --enable-user-scripts

Je l'ai fait - mais mon script de démonstration ne fait rien:

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

alert(0);

Qu'est-ce que je fais mal?

YMMD
la source
2
La prise en charge du répertoire des scripts utilisateur a été supprimée en 2011. Voir Le répertoire des scripts utilisateur fonctionne-t-il toujours avec Chrome 13.0?: Http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with- chrome-13-0 # comment8333680_6979021 .
XP1 du

Réponses:

241

La meilleure chose à faire est d'installer l' extension Tampermonkey .

Cela vous permettra d'installer facilement les scripts Greasemonkey, et de les gérer facilement. En outre, cela facilite l'installation des scripts d'utilisateurs directement à partir de sites tels que OpenUserJS , MonkeyGuts , etc.

Enfin, il déverrouille la plupart des fonctionnalités GM que vous n'obtenez pas en installant un script GM directement avec Chrome. Autrement dit, plus de ce que GM sur Firefox peut faire, est disponible avec Tampermonkey.


Mais, si vous voulez vraiment installer un script GM directement, il est facile de faire du mal sur Chrome ces jours-ci ...

Chrome Après environ août 2014:

Vous pouvez toujours faire glisser un fichier sur la page des extensions et cela fonctionnera ... Jusqu'à ce que vous redémarriez Chrome. Ensuite, il sera définitivement désactivé. Pour plus d'informations, consultez Continuer à «protéger» les utilisateurs de Chrome contre les extensions malveillantes . Encore une fois, Tampermonkey est la solution la plus intelligente. (Ou basculez complètement les navigateurs vers Opera ou Firefox.)

Chrome 21+:

Chrome change la façon dont les extensions sont installées . Les scripts utilisateur sont des extensions épurées sur Chrome, mais. À partir de Chrome 21 , le comportement de clic sur un lien est désactivé pour les scripts utilisateur . Pour installer un script utilisateur, faites glisser le fichier **. User.js * dans la page Extensions ( chrome://extensionsdans l'entrée d'adresse).

Anciennes versions de Chrome:

Faites simplement glisser vos fichiers **. User.js * dans n'importe quelle fenêtre Chrome. Ou cliquez sur n'importe quel lien de script Greasemonkey.

Vous recevrez un avertissement d'installation:
Avertissement initial

Cliquez sur Continuer .


Vous obtiendrez une boîte de dialogue de confirmation:
boîte de dialogue de confirmation

Cliquez sur Ajouter .


Remarques:

  1. Les scripts installés de cette manière ont des limitations par rapport à un script Greasemonkey (Firefox) ou un script Tampermonkey. Reportez -vous à la section Scripts d'utilisateurs inter-navigateurs, section Chrome .

Contrôle du script et du nom:

Par défaut, Chrome installe les scripts dans le dossier Extensions 1 , plein de noms cryptiques et de numéros de version. Et, si vous essayez d'ajouter manuellement un script sous cette arborescence de dossiers, il sera effacé au prochain redémarrage de Chrome.

Pour contrôler les répertoires et les noms de fichiers de manière plus significative, vous pouvez:

  1. Créez un répertoire qui vous convient, et non celui où Chrome recherche normalement les extensions . Par exemple, créer: C:\MyChromeScripts\.

  2. Pour chaque script, créez son propre sous-répertoire. Par exemple HelloWorld,.

  3. Dans ce sous-répertoire, créez ou copiez le fichier de script. Par exemple, enregistrez le code de cette question: HelloWorld.user.js.

  4. Vous devez également créer un fichier manifeste dans ce sous - répertoire, il doit être nommé: manifest.json.

    Pour notre exemple, il doit contenir:

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

    Le manifest.jsonfichier est automatiquement généré à partir du méta-bloc par Chrome, lorsqu'un script utilisateur est installé. Les valeurs de @includeet les @excludeméta-règles sont stockées dans include_globset exclude_globs, @match(recommandé) est stocké dans la matchesliste. "converted_from_user_script": trueest requis si vous souhaitez utiliser l'une des méthodes prises en chargeGM_* .

  5. Maintenant, dans le gestionnaire d'extensions de Chrome (URL = chrome: // extensions / ), développez "Mode développeur" .

  6. Cliquez sur le bouton Charger l'extension décompressée ...

  7. Pour le dossier, collez -le dans le dossier de votre script, Dans cet exemple , il est: C:\MyChromeScripts\HelloWorld.

  8. Votre script est maintenant installé et opérationnel!

  9. Si vous apportez des modifications à la source du script, cliquez sur le lien Recharger pour qu'elles prennent effet:

    Reload link




1 Le dossier est par défaut:

Windows XP:
  Chrome:% AppData% \ .. \ Local Settings \ Application Data \ Google \ Chrome \ User Data \ Default \ Extensions \
  Chromium:% AppData% \ .. \ Local Settings \ Application Data \ Chromium \ User Data \ Default \ Extensions \

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

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

Mac OS X:
  Chrome: ~ / Library / Application Support / Google / Chrome / Default / Extensions /
  Chrome: ~ / Bibliothèque / Application Support / Chrome / Default / Extensions /

Bien que vous puissiez le modifier en exécutant Chrome avec l' --user-data-dir=option.

Brock Adams
la source
1
Excellente réponse - mise à jour pour refléter la nouvelle politique de Chrome "Web Store uniquement". Vous pouvez uniquement faire glisser les fichiers .user.js dans la fenêtre Extensions.
crb
2
@ColonelPanic, malheureusement, non, vous ne pouvez pas. Le manifeste généré automatiquement n'est actuellement pas compatible avec le processus d'extension! Il n'utilise pas "manifest_version": 2, ce qui est désormais obligatoire. Utilisez l'exemple de la réponse comme copie de départ (ou du moins n'oubliez pas le "manifest_version": 2). ... Google est en train de configurer tous les scripts utilisateur "normaux" pour échouer dans une version en attente, à moins qu'ils ne modifient bientôt le processus de manifeste automatique.
Brock Adams
1
@brock Je viens de faire glisser et déposer mon usercript dans la fenêtre des extensions comme la deuxième réponse et maintenant je n'ai plus à m'inquiéter de la vérification de Tampermonkey. Cela a juste fonctionné. :)
Bjorn
1
@brock Je sais que vous l'avez, mais compte tenu de votre recommandation d'utiliser Tampermonkey, une extension qui nécessite l'accès à toutes les informations de vos sites bancaires, votre facebook, tout, la deuxième réponse est meilleure. Et en ce qui concerne `` vérifié '', personne ne peut absolument rien faire pour contrôler une extension Chrome, car vous pouvez les mettre à jour automatiquement pour faire de mauvaises choses à tout moment, puis les mettre à jour à nouveau pour masquer cela. Vous auriez à vérifier chaque changement à chaque fois. Ce sont des autorisations pour tout. Tout.
Bjorn
1
@marshmellooooooos, fonctionne toujours pour moi (Chrome 54.0.2840.99 m). Si vous ne pouvez pas le faire fonctionner, installez Tampermonkey ou ouvrez une nouvelle question avec les détails EXACT de ce que vous avez essayé.
Brock Adams
53

Mise à jour 2016: semble fonctionner à nouveau.

Mise à jour d'août 2014: ne fonctionne plus à partir des versions récentes de Chrome.


Ouais, le nouvel état des choses est nul. Heureusement, ce n'est pas si difficile que les autres réponses le suggèrent.

  1. Naviguez dans Chrome pour chrome://extensions
  2. Faites glisser le .user.jsfichier dans cette page.

Voila. Vous pouvez également faire glisser des fichiers de la barre de bas de page des téléchargements vers l'onglet extensions.

Chrome créera automatiquement un manifest.jsonfichier dans le répertoire des extensions documenté par Brock .

<3 Liberté.

Colonel Panic
la source
15
assurez-vous que le nom du fichier est comme <scriptname> .user.js, sinon chrome ne le reconnaît pas comme extension
Paco
1
@AlexTracer Cela fonctionne pour moi sur Chromium 33. Peut-être que vous faites quelque chose de mal.
user7610
4
Ne fonctionne plus dans Chrome 36. Les scripts utilisateur ajoutés de cette façon sont accompagnés du message: "cette extension n'est pas répertoriée dans le Chrome Web Store et peut avoir été ajoutée à votre insu", et la case à cocher d'activation est désactivée.
Protector one
2
Cela fonctionne pour moi dans Chrome 51 et je n'utilise aucun paramètre de ligne de commande. Peut-être qu'ils l'ont encore changé?
Miscreant
6
Je viens d'essayer (Chrome 60) et j'ai été envoyé à une page qui indique "Les extensions qui n'ont pas été publiées sur le Chrome Web Store sont grisées et vous ne pourrez pas les réactiver." Cela ressemble au comportement d'août 2014. Je ne sais pas s'ils l'ont réactivé ou c'est juste que je manque quelque chose.
Pops le
11

Ce paramètre fonctionne pour moi:

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

Procédez comme suit:

  1. Faites un clic droit sur votre icône "Chrome".
  2. Choisissez les propriétés
  3. À la fin de votre ligne cible, placez ces paramètres: --enable-easy-off-store-extension-install
  4. Cela devrait ressembler à: chrome.exe --enable-easy-off-store-extension-install
  5. Démarrez Chrome en double-cliquant sur l'icône
joeytwiddle
la source
J'ai eu ça sur superuser.com/questions/450893/…
joeytwiddle
1
Les administrateurs peuvent également créer une stratégie pour tous les utilisateurs, avec les URL autorisées sur la liste blanche par modèle: chromium.org/administrators
...
Dois-je vraiment supprimer l'ancien script et l'installer complètement nouveau en le faisant glisser à nouveau dans le navigateur lorsque j'ai modifié des éléments? Ou y a-t-il un moyen plus simple?
YMMD
Pour mettre à jour un script, j'y accède sur le système de fichiers ou le serveur Web, et je clique pour installer; Chrome écrase l'ancienne version. Si vous développez un script et que vous ne voulez pas continuer à l'installer, essayez un bookmarklet / userscript hybride: stackoverflow.com/questions/1810885
...
Mmmm ouais, on dirait qu'ils ont volontairement
...
1

Partagez et installez userscript en un seul clic

Pour effectuer une installation automatique (mais confirmer manuellement), vous pouvez créer gist (gist.github.com) avec le <filename>.user.jsnom de fichier pour obtenir une installation en un clic lorsque vous cliquez sur Raw et obtenez cette page:

Page d'installation

Comment faire cela?

  1. Nommez votre essence <filename>.user.js, écrivez votre code et cliquez sur "Créer".
    Créer un fichier sur l'essentiel

  2. Dans la page principale, cliquez sur Raw pour obtenir la page d'installation (premier écran).
    Bouton brut

  3. Vérifiez le code et installez-le.

A-312
la source
0

Réponse d'avril 2020

Dans Chromium 81+, j'ai trouvé la réponse: allez sur chrome: // extensions /, cliquez pour activer le mode développeur dans le coin supérieur droit, puis faites glisser et déposez votre script .user.js.

user1461607
la source
Dans Chrome (pas Chrome), cela ne fonctionne pas pour moi. Il indique qu'il ne provient pas de la boutique en ligne Chrome et le force à être désactivé.
Monkpit le