Similar Posts
Evitar el caché en las hojas de estilo
Algo que suele ocurrir con frecuencia es que al realizar cambios en la hoja de estilos, estos no se vean reflejados en la página por el caché del navegador.
Para evitar esto, tan solo es necesario un script que cargue los estilos y que le añada un parámetro GET que sea único para que el navegador lo entienda como un fichero nuevo. En este caso el parámetro es la fecha.
function loadStyleSheets(stylelist) {
var head = $$("head")[0];
var date = new Date();
var dateString = Date.parse(date.toString());
for(var i = 0; i < stylelist.length; i++) {
var link = document.createElement("link");
link.href="style/" + styleList[i] + "?" + dateString;
link.type = "text/css";
link.rel = "stylesheet";
head.appendChild(link);
}
}
En este caso el autor hace uso de la función de Prototype $$, pero se podrÃa hacer sin el uso de este framework.
Como consejos sobre el mismo tema yo añadirÃa dos:
- si estás trabajando en local y no ves los cambios, carga en el navegador directamente el fichero .css que hayas modificado, asà los cambios aparecerán, luego los podrás ver en la página.
- si la página se crea mediante PHP le puedes añadir a la etiqueta link el parametro GET directamente:
<link rel="stylesheet" href="estilos.css?refresh=<?php echo time(); ?>" />
Visualizador de imágenes en DHTML con javascript no obstructivo
En Dynamic Drive nos ofrecen una buena utilidad y un magnÃfico ejemplo de uso de DHTML accesible. Se trata de un sencillo sistema que permite previsualizar o ampliar imágenes desde un enlace poniendo “thumbnail” como valor del atributo rel
del enlace. Además el contenido atributo title
será mostrado junto a la imagen.
Lo mejor es que está hecho de forma no obstructiva, es decir, dado que enlace apunta a la imagen, si el usuario no tiene habilitado el javascript al pulsar en enlace le llevará a la misma. En caso contrario mostrará una capa con ésta.
VÃa / Ajaxian
Laboratorio: input password estilo iPhone con jQuery
Una de las cosas que mas me gusta del iPhone/iPod Touch es que cuando estás metiendo una password ves el último carácter que has tecleado.
Por ello he hecho este pequeño plugin para jQuery (inacabado) que realiza la misma función. Muestra la última letra tecleada y oculta el resto. Para conseguirlo lo que he hecho es transformar el input en tipo text y guardar lo que se va tecleando.
$.fn.hidder = function() {
return this.filter(':password').each(function() {
this.config = {
delay: 1,
value: '',
char: '•'
}
this.type = "text";
this.config.value = this.value;
this.value = this.value.replace(/./g, this.config.char);
$(this).bind('keydown', function(evt) {
switch(evt.which) {
case 8:
this.config.value = this.config.value.substring(0, this.config.value.length-1);
this.value = this.value.substring(0, this.value.length-1);
break;
}
});
$(this).bind('keyup', function(evt) {
if (this.value.length > this.config.value.length) {
var last = this.value.substring(this.value.length-1);
this.config.value += last;
this.value = this.value.substring(0, this.value.length-1).replace(/./g, this.config.char)+last;
var elem = this;
setTimeout(function() {elem.value = elem.value.replace(/./g, elem.config.char);}, elem.config.delay*1000);
}
});
});
}
Le faltan muchas cosas por hacer, y fallan otras, por ejemplo tratar el pulsar los cursores, restaurar el valor antes del submit del formulario, ocultar el texto despues del formulario, …
Yo personalmente no lo usaría en mi página ni loco, pero para experimento no está mal.
Lista de ofuscadores para Javascript
Para aquellos que necesiten ofuscar su código Javascript para que sea más difÃcil de entender a los usuarios, les vendrá bastante bien esta lista de aplicaciones que modificarán nuestro código:
- Thicket™ Obfuscator for JavaScript: también válido para ECMAScript, a parte de modificar el código para dificultar su lectura, lo comprime.
- Jasob 2: modifica los nombres de variables, borra comentarios y elimina espacios entre muchas otras cosas.
- Javascript Obfuscator: trata los scripts y ficheros js contenidos en una página html, modificando los espacios, comentarios, nombres de variables y funciones y lo escribe todo en una única lÃnea, añadiendo punto y coma cuando sea necesario. Existe versión online.
- Stunnix JavaScript Obfuscator: modifica javascripts y ECMAScripts contenidos en ficheros HTML, PHP, ASP, JSP.
- JCE Pro: modifica el código javascript para que sea imposible su lectura.
- Scripts Encryptor (ScrEnc): ofusca los siguientes tipos de archivos: HTML, JavaScript/JScript, C/C++/MFC.
- Shane Ng’s GPL-licenced obfuscator: ofuscador con licencia GPL.
- Dean Edwards JavaScript Compressor/Obfuscator: online.
- ESC: ofuscador de código ECMAScript escrito en JScript.
- Jammer: modifica ficheros HTML, Javascript y VRML, comprimiendo su espacio y haciendo que sea difÃcil de entender.
- JSCruncher Pro: reduce una media del 60% del tamaño original.
- Strong JS: elimina caracteres innecesarios y modificando el nombre de variables.
- JavaScript Scrambler: fácil de usar.
- Javascript Encoder from scriptasylum.com: online.
VÃa / Ajax Digest
GameJS: framework javascript para crear juegos 2D
GameJS es una librería javascript pensada para desarrollar juegos en 2D. Aunque no tiene mucha lógica realizar juegos en Javascript, sobre todo cuando en Flash pueden realizarse mucho mejor, esta librería es aún así bastante curiosa.
Hace mucho uso de la etiqueta canvas, por lo que solo es posible usarla en los navegadores que lo soportan, posiblemente en IE también gracias a IECanvas, pero el rendimiento puede ser pobre. Dispone de varias clases de las que se hay extender para poder realizar nuestro juego.
GameJS
Vía / dzone
XRegExp: ampliación de expresiones regulares en Javascript
XRegExp es una ampliación de Javascript para las expresiones regulares, las cuales en Javascript flaquean a la hora de los modificadores.
En este caso, añade los modificadores s
y x
, lo cual amplÃa el uso que podemos darle a las expresiones regulares. El modificador s
permite que el punto “.”, que representa a cualquier carácter, represente también al salto de lÃnea, el cual suele ignorar. El modificar x
ignora los espacios en la expresión regular, y asà poder crear unas expresiones regulares más legibles.
XRegExp
VÃa / dzone