Agregar manualmente un Script de usuario a Google Chrome

161

En lugar de "instalar" User-Scripts, encontré muchos tutoriales en la web para agregarlos manualmente. Todos me dijeron que hiciera los mismos pasos:

  • Cree el directorio C: \ Users \ Blabla \ AppData \ Local \ Google \ Chrome \ User Data \ Default \ User Scripts
  • Coloque un archivo .js allí, que contenga el User-Script
  • Inicie Chrome con el parámetro --enable-user-scripts

Lo hice, pero mi script de demostración no hace nada:

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

alert(0);

¿Qué estoy haciendo mal?

YMMD
fuente
2
La compatibilidad con el directorio de secuencias de comandos de usuario se eliminó en 2011. Consulte ¿Sigue funcionando el directorio de secuencias de comandos de usuario con Chrome 13.0 ?: http://stackoverflow.com/questions/6968469/does-the-user-scripts-directory-still-work-with- Chrome-13-0 # comment8333680_6979021 .
XP1

Respuestas:

240

Lo mejor que puedes hacer es instalar la extensión Tampermonkey .

Esto le permitirá instalar fácilmente los scripts de Greasemonkey y administrarlos fácilmente. También facilita la instalación de scripts de usuario directamente desde sitios como OpenUserJS , MonkeyGuts , etc.

Finalmente, desbloquea la mayoría de las funciones de GM que no obtienes al instalar un script GM directamente con Chrome. Es decir, más de lo que GM en Firefox puede hacer, está disponible con Tampermonkey.


Pero, si realmente desea instalar un script GM directamente, es fácil en Chrome estos días ...

Chrome Después de aproximadamente agosto de 2014:

Todavía puede arrastrar un archivo a la página de extensiones y funcionará ... Hasta que reinicie Chrome. Entonces se desactivará permanentemente. Consulte Continuar para "proteger" a los usuarios de Chrome de extensiones maliciosas para obtener más información. De nuevo, Tampermonkey es el camino inteligente a seguir. (O cambie los navegadores por completo a Opera o Firefox).

Chrome 21+:

Chrome está cambiando la forma en que se instalan las extensiones . Los scripts de usuario son extensiones reducidas en Chrome pero. A partir de Chrome 21 , el comportamiento de hacer clic en el enlace está deshabilitado para los scripts de usuario . Para instalar un script de usuario, arrastre el archivo **. User.js * a la página Extensiones ( chrome://extensionsen la entrada de la dirección).

Versiones anteriores de Chrome:

Simplemente arrastre sus archivos **. User.js * a cualquier ventana de Chrome. O haga clic en cualquier enlace de script de Greasemonkey.

Recibirá una advertencia de instalación:
Advertencia inicial

Haz clic en Continuar .


Obtendrá un diálogo de confirmación:
diálogo de confirmación

Haz clic en Agregar .


Notas:

  1. Los scripts instalados de esta manera tienen limitaciones en comparación con un script de Greasemonkey (Firefox) o un script de Tampermonkey. Consulte las secuencias de comandos de usuario de navegador cruzado, sección Chrome .

Control de la secuencia de comandos y el nombre:

De forma predeterminada, Chrome instala scripts en la carpeta Extensiones 1 , llena de nombres crípticos y números de versión. Y, si intenta agregar manualmente un script debajo de este árbol de carpetas, se borrará la próxima vez que Chrome se reinicie.

Para controlar los directorios y los nombres de archivo a algo más significativo, puede:

  1. Cree un directorio que sea conveniente para usted y no donde Chrome normalmente busca extensiones . Por ejemplo, Crea: C:\MyChromeScripts\.

  2. Para cada script cree su propio subdirectorio. Por ejemplo, HelloWorld.

  3. En ese subdirectorio, cree o copie el archivo de script. Por ejemplo, guardar el código de esta pregunta como: HelloWorld.user.js.

  4. También debe crear un archivo de manifiesto en ese subdirectorio, que debe llamarse: manifest.json.

    Para nuestro ejemplo, debe contener:

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

    El manifest.jsonarchivo se genera automáticamente a partir del meta-bloque por Chrome, cuando se instala una secuencia de comandos de usuario. Los valores @includey las @excludemeta-reglas se almacenan en include_globsy exclude_globs, @match(recomendado) se almacenan en la matcheslista. "converted_from_user_script": truees obligatorio si desea utilizar alguno de los métodos admitidosGM_* .

  5. Ahora, en el administrador de extensiones de Chrome (URL = chrome: // extensiones / ), expanda "Modo desarrollador" .

  6. Haga clic en el botón Cargar extensión desempaquetada ...

  7. Para la carpeta, pegar en la carpeta de su escritura, en este ejemplo es: C:\MyChromeScripts\HelloWorld.

  8. ¡Su script ahora está instalado y en funcionamiento!

  9. Si realiza algún cambio en la fuente del script, presione el enlace Volver a cargar para que surta efecto:

    Recargar enlace




1 La carpeta por defecto es:

Windows XP:
  Chrome:% AppData% \ .. \ Configuración local \ Datos de aplicación \ Google \ Chrome \ User Data \ Default \ Extensions \
  Chromium:% AppData% \ .. \ Configuración local \ Datos de aplicación \ Chromium \ Datos de usuario \ Predeterminado \ Extensiones \

Windows Vista / 7/8:
  Chrome:% LocalAppData% \ Google \ Chrome \ User Data \ Default \ Extensions \
  Chromium:% LocalAppData% \ Chromium \ Datos de usuario \ Predeterminado \ Extensiones \

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

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

Aunque puede cambiarlo ejecutando Chrome con la --user-data-dir=opción.

Brock Adams
fuente
1
Excelente respuesta: actualizada para reflejar la nueva política de Chrome "solo tienda web". Solo puede arrastrar archivos .user.js a la ventana Extensiones.
crb
2
@ColonelPanic, lamentablemente, no, no puedes. ¡El manifiesto generado automáticamente no es compatible actualmente con el proceso de extensión! No usa "manifest_version": 2, que ahora se requiere. Use el ejemplo en la respuesta como su copia inicial (o al menos no olvide la "manifest_version": 2). ... Google está configurando todos los guiones de usuario "normales" para fallar en una versión pendiente, a menos que cambien el proceso de manifestación automática pronto.
Brock Adams
1
@brock Acabo de arrastrar y soltar mi script de usuario en la ventana de extensiones como la segunda respuesta y ahora no tengo que preocuparme por la verificación de Tampermonkey. Simplemente funcionó. :)
Bjorn
1
@brock Sé que tienes eso, pero dada tu recomendación de usar Tampermonkey, una extensión que requiere acceso a toda la información de tus sitios bancarios, tu facebook, todo, la segunda respuesta es mejor. Y en cuanto a 'investigado', no hay absolutamente nada que alguien pueda hacer para examinar una extensión de Chrome, ya que puede actualizarla automáticamente para hacer cosas malas en cualquier momento, y luego actualizarla nuevamente para ocultar esto. Tendría que examinar cada cambio cada vez. Son permisos para todo. Todo.
Bjorn
1
@marshmellooooooos, todavía funciona para mí (Chrome 54.0.2840.99 m). Si no puede hacer que funcione, instale Tampermonkey o abra una nueva pregunta con detalles EXACTOS de lo que intentó.
Brock Adams
53

Actualización 2016: parece estar funcionando nuevamente.

Actualización de agosto de 2014: ya no funciona a partir de las versiones recientes de Chrome.


Sí, el nuevo estado de cosas apesta. Afortunadamente no es tan difícil como implican las otras respuestas.

  1. Navega en Chrome para chrome://extensions
  2. Arrastre el .user.jsarchivo a esa página.

Voila También puede arrastrar archivos desde la barra de pie de página de descargas a la pestaña de extensiones.

Chrome creará automáticamente un manifest.jsonarchivo en el directorio de extensiones que Brock documentó .

<3 Libertad.

Coronel Panic
fuente
15
asegúrese de que el nombre del archivo sea <scriptname> .user.js, de lo contrario, Chrome no lo reconocerá como una extensión
Paco
1
@AlexTracer Funciona para mí en Chromium 33. Tal vez estás haciendo algo mal.
user7610
44
Ya no funciona en Chrome 36. Los scripts de usuario agregados de esta manera vienen con el mensaje: "esta extensión no figura en Chrome Web Store y puede haberse agregado sin su conocimiento", y la casilla de verificación enable está desactivada.
Protector uno
2
Esto funciona para mí en Chrome 51, y no estoy usando ningún parámetro de línea de comandos. Tal vez lo cambiaron de nuevo?
Malhechor
66
Acabo de probar esto (Chrome 60) y me enviaron a una página que dice "Las extensiones que no se han publicado en Chrome Web Store están atenuadas y no podrá volver a activarlas". Suena como el comportamiento de agosto de 2014. No estoy seguro si volvieron a deshabilitar esto o si me falta algo.
Aparece el
11

Este parámetro me está funcionando:

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

Haz lo siguiente:

  1. Haga clic derecho en su icono "Chrome".
  2. Elige propiedades
  3. Al final de su línea objetivo, coloque estos parámetros: --enable-easy-off-store-extension-install
  4. Debería verse así: chrome.exe --enable-easy-off-store-extension-install
  5. Inicie Chrome haciendo doble clic en el ícono
joeytwiddle
fuente
Tengo que desde superuser.com/questions/450893/...
joeytwiddle
1
Los administradores también pueden crear una política para todos los usuarios, con direcciones URL permitidas en la lista blanca por el patrón: chromium.org/administrators/...
joeytwiddle
¿Realmente necesito eliminar el script antiguo e instalarlo completamente nuevo arrastrándolo nuevamente al navegador cuando edité cosas? ¿O hay una forma más fácil?
YMMD
Para actualizar un script, navego hasta él en el sistema de archivos o servidor web, y hago clic para instalar; Chrome sobrescribe la versión anterior. Si está desarrollando un script y no desea seguir instalándolo, pruebe un bookmarklet / userscript hybrid: stackoverflow.com/questions/1810885/…
joeytwiddle
Mmmm, sí, parece que han deshabilitado la carga lateral a propósito: blog.chromium.org/2018/06/…
joeytwiddle
1

Comparta e instale el script de usuario con un clic

Para realizar la instalación automática (pero confirmar manualmente), puede hacer gist (gist.github.com) con el <filename>.user.jsnombre del archivo para obtener la instalación al hacer clic cuando hace clic en Raw y obtiene esta página:

Página de instalación

Como hacer esto ?

  1. Nombre su esencia <filename>.user.js, escriba su código y haga clic en "Crear".
    Hacer archivo en esencia

  2. En la página principal, haga clic en Raw para obtener la página de instalación (primera pantalla).
    Botón sin procesar

  3. Verifique el código e instálelo.

A-312
fuente
0

Respuesta de abril de 2020

En Chromium 81+, he encontrado que la respuesta es: vaya a chrome: // extensiones /, haga clic para habilitar el Modo de desarrollador en la esquina superior derecha, luego arrastre y suelte su script .user.js.

usuario1461607
fuente
En Chrome (no Chromium) esto no funciona para mí. Dice que no es de la tienda web de Chrome y obliga a que se desactive.
Monkpit