168 votes

Ajout manuel d'un script utilisateur à Google Chrome

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 suivre les mêmes étapes :

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

Je l'ai fait - mais ma démo script ne fait rien :

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

alert(0);

Qu'est-ce que je fais de mal ?

2 votes

Le support du répertoire utilisateur script a été supprimé en 2011. Voir Le répertoire User Scripts fonctionne-t-il encore avec Chrome 13.0 ? http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with-chrome-13-0#comment8333680_6979021 .

247voto

Brock Adams Points 36841

La meilleure chose à faire est d'installer le Extension Tampermonkey .

Cela vous permettra d'installer facilement les scripts Greasemonkey, et de les gérer aisément. Il est également plus facile d'installer des scripts utilisateurs directement à partir de userscripts.org .

Enfin, il débloque la plupart des fonctionnalités de GM que vous n'obtenez pas en installant un script GM directement avec Chrome. En d'autres termes, une plus grande partie de ce que GM sur Firefox peut faire, est disponible avec Tampermonkey.


Mais, si vous voulez vraiment installer un script GM directement, c'est facile sur Chrome de nos jours

Chrome 21+.

Chrome est changer la façon dont les extensions sont installées . Les scripts utilisateurs sont des extensions réduites sur Chrome mais. À partir de Chrome 21 le comportement du lien-clic est désactivé pour scripts utilisateurs . Pour installer un script utilisateur, glissez le * .user.js dans le fichier Extensions page ( chrome://extensions dans l'entrée de l'adresse).

Anciennes versions de Chrome

Il suffit de glisser votre * .user.js dans n'importe quelle fenêtre de Chrome. Ou cliquez sur n'importe quel lien Greasemonkey script. (Voir userscripts.org pour une belle collection de scripts).

Vous obtiendrez un avertissement d'installation :
Initial warning

Cliquez sur Continuer .

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

Cliquez sur Ajouter .

Notes :

  1. Les scripts installés de cette manière ont des limites par rapport à un Greasemonkey (Firefox) script ou un Tampermonkey script. Voir Scripting utilisateur multi-navigateur, section Chrome .

Contrôle du script et du nom :

Par défaut, Chrome installe les scripts dans le répertoire 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 à quelque chose de plus significatif, vous pouvez :

  1. Créez un répertoire qui vous convient, et pas là 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 script. Par exemple, enregistrez le code de cette question sous le nom de : 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 devrait contenir :

    {
        "manifest_version": 2,
        "content_scripts": [ {
            "exclude_globs":    [  ],
            "include_globs":    [ "*" ],
            "js":               [ "HelloWorld.user.js" ],
            "matches":          [   "http://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 site manifest.json est automatiquement généré à partir du méta-bloc par Chrome, lorsqu'un script utilisateur est installé. Les valeurs de @include et @exclude Les méta-règles sont stockées dans include_globs et exclude_globs , @match (recommandé) est stocké dans le matches liste. "converted_from_user_script": true est nécessaire si vous voulez utiliser l'une des fonctions de l'interface utilisateur. supporté par GM_* méthodes .

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

  6. Cliquez sur le bouton Charger l'extension non emballée... bouton.

  7. Pour le dossier, collez le dossier de votre script, Dans cet exemple c'est : C:\MyChromeScripts\HelloWorld .

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

  9. Si vous apportez des modifications à la source script, appuyez sur la touche Rechargez pour qu'ils 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\\
  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/

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

0 votes

Désolé, on dirait que je n'ai pas exposé mon problème exactement. Je n'ai pas de problèmes pour installer Userscripts de la manière habituelle. Je veux réaliser ces scripts moi-même et je ne veux pas les traiter comme une extension. La possibilité que j'ai toujours trouvée sur internet, qui me dit de les mettre dans le répertoire "User Scripts" ne fonctionne tout simplement pas. Et j'essaie de trouver une solution pour cela.

0 votes

Non, ce n'est pas ce que j'ai l'intention de faire. Dans le passé, j'ai développé quelques userscripts en utilisant Firefox, pour le moment je préfère surfer avec Chrome et pour cette raison je voudrais les tester dans Chrome. Lorsque j'installe un userscript vide et que je l'édite comme je veux qu'il fonctionne, le répertoire "Extensions" devient rapidement plein de dossiers avec des noms cryptiques et cela prendra toujours du temps pour chercher le dossier qui contient réellement le fichier que je veux éditer. C'est tout.

0 votes

Une chose à noter à propos de l'extension tampermonkey est que les scripts utilisateur exécutés dans l'extension tampermonkey sont pas extensions - c'est probablement apparent, mais cela a des implications si vous envoyez des messages de l'utilisateur script à une autre extension, ce que vous pouvez faire si vous installez l'utilisateur script comme une extension, mais pas si vous l'exécutez sous tampermonkey.

53voto

Colonel Panic Points 18390

Mise à jour en août 2014 : Ne fonctionne plus à partir des versions récentes de Chrome.


Ouais, le nouvel état des choses craint. Heureusement, ce n'est pas si difficile que les autres réponses le laissent entendre.

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

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

Chrome créera automatiquement un manifest.json dans le répertoire des extensions qui Brock est documenté .

<3 Liberté.

15 votes

Assurez-vous que le nom du fichier est du type <nom de script>.user.js, sinon chrome ne le reconnaît pas comme extension

1 votes

@AlexTracer Cela fonctionne pour moi sur Chromium 33. Peut-être que vous faites quelque chose de mal.

5 votes

Ne fonctionne plus dans Chrome 36. Les scripts utilisateur ajoutés de cette façon arrivent avec le 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.

12voto

joeytwiddle Points 3226

Ce paramètre fonctionne pour moi :

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

0 votes

J'ai trouvé ça dans superuser.com/questions/450893/

1 votes

Les administrateurs peuvent également créer une politique pour tous les utilisateurs, avec une liste blanche des URL autorisées par modèle : chromium.org/administrators/

0 votes

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 choses ? Ou existe-t-il un moyen plus simple ?

2voto

Hors Sujet Points 1528

Partage et installation de userscript en un seul clic

Pour faire l'auto-installation (mais confirmer manuellement), Vous pouvez faire gist (gist.github.com) avec <filename>.user.js nom de fichier pour obtenir l'installation au clic quand vous cliquez sur Brut et obtenir cette page :

Installation page

Comment faire ?

  1. Nommez votre résumé <filename>.user.js écrivez votre code et cliquez sur "Créer".
    Make file on gist

  2. Dans la page gist, cliquez sur Brut pour obtenir la page d'installation (premier écran).
    Raw button

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

0 votes

Bonne idée. Mais en décembre 2020, Chrome donne ce message : Les applications, extensions et scripts utilisateur ne peuvent pas être installés à partir de ce site web.

0voto

user1461607 Points 154

Avril 2020 Réponse

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

8 votes

Dans Chrome (pas dans Chromium), cela ne fonctionne pas pour moi. Il indique qu'il ne provient pas de la boutique en ligne de Chrome et l'oblige à le désactiver.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X