Crear extensión Chrome

Sólo es necesario un editor de texto y Chrome.

Toda extensión de Chrome requiere del manifest.json, que puede contener muchas lineas de configuración, pero para este ejemplo llenaremos lo básico.

Lo que hará la extensión de este ejemplo es detectar el sitio web y desplegar una* alerta javascript, además, *pondrá el ícono en la barra de extensiones. No será necesaria interacción del usuario.

Para utilizar recursos como imágenes, js, html, etc se puede especificar en el manifest.json.
En éste caso sólo haremos uso de un javascript.

manifest.json

{ "manifestversion": 2, "name": "Mi primer extensión de Chrome", "version": "1.0", "description": "Ésta es la descripción de la Primera extensión de Chrome.", "browseraction": { "defaulticon": "icon.png" }, "contentscripts":[ { "matches":["http://www.ratacibernetica.com/*"], "js":["funcion.js"], "runat":"documentend" } ] }

funcion.js

if(window.attachEvent) { window.attachEvent('onload', accion); } else { if(window.onload) { var curronload = window.onload; var newonload = function() { curronload(); accion(); }; window.onload = newonload; } else { window.onload = accion; } } function accion(){ alert("Wow dude!"); }

Para desarrollar y probar nuestra extensión, deberemos* activar el Developer mode, para ello, vamos a chrome://extensions* y activamos la opción:

1

Damos clic en *Load unpacked extension… *y elegimos la carpeta en donde tenemos los archivos. Al hacerlo, se valida el manifest.json y si hubiera algún error lo mostraría, de lo contrario, cargaría la extensión.

Y eso es todo, al visitar el sitio especificado anteriormente en el manifest.json, desplegará la alerta del archivo* funcion.js*

Extra

Si queremos distribuir nuestra extensión debemos empaquetar la carpeta de nuestra extensión a CRX.  Para esto, vamos a chrome://extensions *y damos clic en Pack extension*… y elegimos nuestra carpeta

1

Con esto, se generará los archivos con extensión crx y pem, y la podemos compartir o subir a la tienda de extensiones. Para lo último hay que tener cuenta y pagar $5 USD por única ocasión.