POL
224360 Hermes
+0

Pol Companion: Código.

Como hay algunas reticencias con la app de Pol Companion, adjunto aquí el código de la propia app, pa que veáis que no hay ni trampa ni cartrón.

En una extensión de Chrome hay varios ficheros:

manifest.json se encarga de listar los documentos incluidos en la extensión y dónde se van a aplicar. 
[code]{[/code]
[code]  "manifest_version": 2,[/code]
[code]  "name": "Pol Companion",[/code]
[code]  "description": "Beta Test",[/code]
[code]  "version": "0.1",[/code]
[code]  "icons": { "16": "images/puz_16.png",[/code]
[code]           "48": "images/puz_48.png",[/code]
[code]          "128": "images/puz_128.png" },  [/code]
[code]  "background": {[/code]
[code]    "page": "background.html"[/code]
[code]  },  [/code]
[code]  "content_scripts": [[/code]
[code]    {[/code]
[code]      "matches": ["https://pol.virtualpol.com/*"],[/code]
[code]      "js": ["jquery.js", "content.js"][/code]
[code]    }[/code]
[code]  ][/code]
[code]}[/code]
Aquí se listan tres ficheros, aparte de los iconos: background.html, jquery.js y content.js. El que importa es content.js, el jquery es para cargar esa librería en la versión que a  mi me interesa. También se puede ver que solo se ejecuta en pol.virtualpol.com.


content.js contiene la funcionalidad:
[code]window.onload = function() {[/code]
[code]    setInterval(function(){[/code]
[code]        $('#vpc_ul>li').each(function() {[/code]
[code]            var text = $(this).html();[/code]
[code]            var dict = {"[b]":"" , "[c]":"" , "[u]":"" , "[s]":"" , "[cg]":"" , "[cy]":"" , "[in]":"" , "[spoiler]":"~ Spoiler: " , "[cr]":"" , "[cb]":"" , "[cb]":"" , "[s+]":""}[/code]
[code]            text = text.replace("[b]", "");[/code]
[code]            text = text.replace("[c]", "");[/code]
[code]            text = text.replace("[u]", "");[/code]
[code]            text = text.replace("[s]", "");[/code]
[code]            text = text.replace("[cg]", "");[/code]
[code]            text = text.replace("[cy]", "" );[/code]
[code]            text = text.replace("[in]", "");[/code]
[code]            text = text.replace("[spoiler]", "~ Spoiler: ");[/code]
[code]            text = text.replace("[/]", "");[/code]
[code]            text = text.replace("[cr]", "");[/code]
[code]            text = text.replace("[cb]", "");[/code]
[code]            text = text.replace("[s+]", "");[/code]
[code]            $(this).html(text);[/code]
[code]        });[/code]
[code]    }, 1000);[/code]
[code]}[/code]


El background.html lo tengo vacío. En el futuro irá ahí un interfície con un interruptor para poder deshabilitar la extensión, como protección en casos de troleos.

Mejoras que tengo pendientes: reemplazar todos los "replace" por uno solo (por eso tengo declarada la variable dict... no sé si será posible, como mínimo quiero reducirlos), y que no se ejecute de manera constante, sino cuando se dispare algún trigger. Obviamente lee la Plaza, busca los tags tipo "[ b ]" y los substutuye en el código por su equivalente.

 1      Orden: Fecha | Votos 1 mensajes en este hilo creado hace .
224360 Hermes
+0

#Vale, me doy cuenta que el foro me ha suprimido los tags html, aun y tenerlos dentro de un bloque "code".

Los tags son simples span con un estilo hardcoded. No más.

 1 

Para poder participar en esta conversacion has de registrar tu ciudadano

Más hilos

[Anuncio] Simplificación de Decretos, DADOS SIR apueste contra 2 o más personas y GANE MONEDAS , Es la hora del Imperio, [Parlamento] Proposición no de ley para la reestructuración de las leyes., Junta de Vecinos del Glorioso y Primigenio Casco Antiguo, Byzantium - Seguimos para bingo, Contrato de Alquiler entre Eltomash y Lector (Parcela 7428), Contrato entre D. Chiribito de Poniente y Aufgürb y Banco Lotero, Hola @bradduk, Reforma de la Constitución,