Scriptia. Javascript y buenas prácticas en español



Scriptia / artículos / Página 2

Saltar a Acerca de Scriptia

Ventanas popup con jQuery y un poco de respeto

Abrir nuevas ventanas no es buena idea. Usar target="_blank" tampoco lo es. Pero usar scripts mal pensados y peor escritos para abrir enlaces en ventanas popup es lo peor de lo peor.

Así que, si a pesar de las advertencias de los libros sagrados vas a abrir un popup usando javascript, muestra un poco de respeto por tus usuarios y hazlo (algo) bien.

Continúa leyendo Ventanas popup con jQuery y un poco de respeto

Intervalos e iteradores infinitos

Hoy vamos a parir un par de iteradores un poco raritos. El primero de ellos infinito. El segundo, aleatorio. Y luego los combinaremos con `setInterval`. Porque tú lo vales y porque nos serán útiles para presentar información periódicamente. Continúa leyendo Intervalos e iteradores infinitos

String.substr: bug en Internet Explorer y solución

Un mensaje de Carlos Campderrós en javaEScript, la lista de correo, me descubre un bug una peculiaridad de JScript (la implementación de ECMAScript que padecemos en Internet Explorer) con el cual no recuerdo haberme enfrentado. En pocas palabras: el método `substr` no da los resultados esperados cuanto se utiliza un valor negativo como primer parámetro. Continúa leyendo String.substr: bug en Internet Explorer y solución

Conversión rápida de tipos

ECMAScript (javascript para los amigos) es un lenguaje dinámicamente tipado. Pero tipos, haberlos, haylos. Veamos cómo realizar conversiones explícitas a String, Number y Boolean con unos pocos carácteres menos de lo _usual_. Continúa leyendo Conversión rápida de tipos

onbeforeunload: tiende una mano al usuario

¿Alguna vez has cerrado una ventana cuando tenías un formulario a medio rellenar? ¿Has invertido media hora en escribir un email y, por error, has abandonado la página sin enviarlo? Evita a tus usuarios pasar por este trauma –y el de aprender hebreo– usando onbeforeunload. Continúa leyendo onbeforeunload: tiende una mano al usuario

De closures y valores «inesperados»: el porqué y una solución

Una closure (cierre) es una función definida dentro del cuerpo de otra. Dentro de ella podemos acceder a las variables definidas dentro de la función padre. Pero en ocasiones, los resultados no son los esperados. Continúa leyendo De closures y valores «inesperados»: el porqué y una solución

Eventos en jQuery

Presentamos un repaso en profundidad a los métodos de jQuery relacionados con el trabajo con eventos: asignación, manejo (`this` y `target`), desligado de manejadores, disparo _artificial_ de eventos, atajos y buen humor. Continúa leyendo Eventos en jQuery

Eliminar espacios en blanco usando expresiones regulares

Por suerte o por desgracia, en más de una ocasión nos encontramos con que ECMAScript no nos provee de todos los métodos que podemos _llegar a necesitar_ en nuestro trabajo. Uno de los casos flagrantes es el de recortar espacios en blanco al principio y al final de una cadena: ni la especificación ni ninguna de sus implementaciones (JavaScript, JScript) incluyen un método `trim` para eliminar esos espacios de sobra.

Y es razonable, puesto que esta función es sencilla de implementar. Continúa leyendo Eliminar espacios en blanco usando expresiones regulares

Copia de arrays y objetos

Cuando utilizamos operador de asignación (más comunmente conocido como `=`) para asignar un array –o un objeto– ya existente a una variable debemos tener en cuenta que no estamos almacenando una copia del array, sino una referencia al mismo.

Considérese:

var a = [ 1, 2, 3 ];
alert(a); // [ 1, 2, 3 ]
var b = a;
alert(b); // [ 1, 2, 3 ]
b.push(4);
alert(b); // [1, 2, 3, 4 ]
alert(a); // [ 1, 2, 3, 4 ] <-- `a` ha sido modificado indirectamente

Veamos como realizar una copia en lugar de almacenar una referencia. Continúa leyendo Copia de arrays y objetos

Ocultar elementos por CSS si y solo si disponemos de javascript

Supongamos una linda interfaz en la que algunos elementos no se muestran hasta que el usuario realiza alguna acción. Supongamos que somos hombres de buen corazón y queremos que nuestra aplicación sea accesible sin necesidad de javascript.

1. Si ocultamos esos elementos mediante CSS, quien no tenga javascript no tendrá, jamás de los jamases, acceso a ellos.
2. Si ocultamos los elementos mediante javascript, se producirá algún que otro feo parpadeo (y si son muchos los elementos a ocultar, aumentará el tiempo de proceso).

Veamos cómo podemos evitar ambos problemas con una pequeña combinación de CSS y scripting. Continúa leyendo Ocultar elementos por CSS si y solo si disponemos de javascript

Acerca de Scriptia

Saltar a la caja de búsqueda

Scriptia forma parte del PDM de Choan C. Gálvez, desarrollador web residente en Barcelona. Scriptia pretende mejorar la calidad de la documentación acerca de javascript disponible en español.