Chrome ya no permite instalar Userscripts. Cómo instalarlos igual.


Ayer por la tarde me llevé una desagradable sorpresa al comprobar que Google Chrome 21 ya no permite la instalación de UsersScripts.

Extensions, apps, and user scripts can only be added from the Chrome Web Store

Para quien no esté al tanto: los UserScripts son archivos JavaScript que extienden las funcionalidad del navegador para el sitio que se esté visitando.

Vale aclarar que la última versión estable de Chrome al día de hoy es la 20.0.1132.57, por lo que la mayoría aún no notará el problema. Pero en las versiones beta (que va por el 21.0.1180.15) y canary (que ya está por el 22.0.1221.0) puede apreciarse esta modificación en la API del navegador.

Estas versiones de prueba traen las modificaciones que más tarde llegarán a la versión estable. Hay una posibilidad de que Google se eche atrás con esta decisión, según su análisis de los reclamos de los desarrolladores, pero lo cierto es que muy probablemente quieran restringir la instalación de scripts por fuera de su Chrome Web Store.

Ahora bien, les mostraré cómo instalar sus UserScripts (ya sean propios o descargados de cualquier sitio) a pesar de la nueva restricción impuesta en Chrome.

Como primera instancia, recurrí a la lista de switches de Chromium, pero todos los comandos que te vuelven al Chrome promiscuo para instalarle cualquier cosa de cualquier lugar, no tienen efecto con los UserScripts. También probé modificar las políticas de fuentes de instalación de extensiones, pero esto tampoco surte efecto sobre los Scripts.

Finalmente, me quedó una única salida: convertir el UserScript a aplicación de Chrome.

Les voy a mostrar un método muy básico para convertir un Script en una aplicación como las que se instalan desde el Chrome Web Store:

Primer paso: se descargan el UserScript que quieran usar. O crean uno propio.

Segundo paso: lo guardan dentro de una carpeta (esta carpeta debería tener preferentemente el nombre de la aplicación) y lo renombran a script.js. Abran este archivo con un editor de texto plano.

Tercer paso: crean un nuevo archivo, en el editor de texto plano que prefieran, con el siguiente contenido:

{
   "content_scripts": [ {
      "exclude_globs": [  ],
      "exclude_matches": [  ],
      "include_globs": [ "http://google.com/*", "https://google.com/*", "http://*.google.com/*", "https://*.google.com/*" ],
      "js": [ "script.js" ],
      "matches": [ "http://*/*", "https://*/*" ]
   } ],
   "converted_from_user_script": true,
   "description": "Detalle sobre tu UserScript",
   "name": "Nombre de tu UserScript",
   "version": "1.0",
   "manifest_version": 2
}

Deberán modificar las URLs dentro de "include_globs". Lean el archivo "script.js" que tienen abierto y busquen todas las líneas que comiencen por "// @include" (sin las comillas). Cada una de esas líneas tendrá una URL que ustedes copiarán una detrás de la otra, separadas por comas. Es decir, para el ejemplo que escribo acá arriba, el archivo script.js contendría lo siguiente:

// @include       http://google.com/*
// @include       https://google.com/*
// @include       http://*.google.com/*
// @include       https://*.google.com/*

También deberían modificar a su gusto el nombre y la descripción del Script, así como el número de versión (si no quieren modificar estos datos, no hay problema, funcionará igual).

Cuarto paso: guardar el archivo que están modificando, con el nombre "manifest.json" (sin las comillas, claro), dentro la misma carpeta en donde tienen el archivo script.js.

Listo, ya tienen su aplicación básica basada en un UserScript. Para instalarla en Chrome, diríjanse a la sección de extensiones del navegador, en chrome://chrome/extensions/ y tilden la opción "Modo de desarrollador". Luego hagan click en "Cargar extensión descomprimida", seleccionen la carpeta en donde crearon su aplicación y ya está.

Realmente espero que Google de marcha atrás y vuelva a mantener el soporte nativo para los UserScripts, pero en caso de que no lo hagan, acá tienen esta pequeña guía para saltar el obstáculo. Algunos no somos fáciles de detener con restricciones.

Descargar Ubuntu
Descargar Chrome
 

© 2011 Sentido Binario