Me pasó que tuve que crear un elemento dinámicamente y definirle que tenia que flotar a la inzquierda (float: left) sin poder tocar css, asi que lo hice desde JasvaScript de la forma correcta:
var elemento = document.createElement('img');
elemento.style.float = 'left';
// o
elemento.style['float'] = 'left';
El tema es que en Firefox no funcionaba y despues descubrí que en IE tampoco.
Cuando tenemos que insertar un elemento dentro de otro en JavaScript podemos usar el famoso método appendChild, y cuando tenemos que meter un elemento, no al final de los elementos padres, sino antes que otro, podemos usar otro método llamado insertBefore, el problema es que no existe ningún metodo nativo que nos deje insertar un elemento “despues” de otro, de manera que lo podamos usar como referencia para hubiar nuestro elemento nuevo donde queramos. Pero si hay una forma, y podemos hacer una función llamada insertAfter().
Aveces tenemos que desplazarnos dentro de un elemento con scroll, para terminar mostrando uno en especial dentro de este, un ejemplo puede ser un listado donde tengamos que “movernos” a un elemento de la lista en especial, o el tipico chat, donde tenemos que mover el scroll hasta el último. El otro día me presente ese problema y aunque ya lo habia resuelto con scrollTo, decidi no meter mas modulos al ya cargado proyecto, ya que solo necesitaba ir hasta un elemento en especial.
Por si no saben, los captchas son sistemas de protección contra procesos automatizados, como los conocidos spam bots, una forma de validar que el que está realizando una acción es un humano y no un programa o bot, esto se logra pidiendo una acción que solo puede realizar un humano, como escribir ciertas letras que estan deformadas para que los sistemas de OTR no puedan leerlas, fondos aleatorios y efectos de humo o rayas que confundan la identificación por software.
El problema de esto es que los sitemas de identificación para romper estos sistemas son cada vez mejores, asi que los captchas tienen que ser mejores, pero sin imposibilitar la lectura humana, realmente estos se vuelven cada vez mas molestos, asi que estan apareciendo formas alternativas, dificiles para los bots, pero mas “humanizadas”.
Siempre que tenemos que hacer un sistema que maneje usuarios,
necesitamos tener algún método para identificar que realmente sea el
usuario el que va a entrar al sistema, para eso lo mas usado siempre
es el metodo de usuario / contraseña. Y lo mas común es que usemos una
base de datos para guardarlos.
El tema es, que pasa si alguien por algún método puede leer la base de
datos donde guardamos nuestras contraseñas, puede hacerce no solo con
su usuario en nuestro sistema, sino con la contraseña del usuario que
puede ser utilizada en varios sitios aparte del nuestro, es una
cuestion tanto técnica como ética nunca guardar la contraseña de
nuestros usuarios en texto claro. Pero ¿que métodos podemos usar? Aca
van algunos…
Hoy por hoy no importa que nuestra web anda sin errores y rápida, también tiene que hacerlo sobre urls humanamente amigables. ¿Qué quiere decir esto? que en vez de:
Muchas veces necesitamos saber cual es el ancho de un elemento, podemos saberlo de entrada si nosotros mismos lo definimos y si no se modifica en ningún momento, pero que pasa si este elemento es de ancho dinámico o nuestro sitio tiende a modificarlo (efectos, etc), para esto jQuery tiene un método llamado width()que nos devuelve el ancho actual del elemento, pero esto nos devolvería la version width de css, que no es la “real”, ya que el elemento puede tener propiedades que agranden su tamaño, como borde, padding, margen, etc.
Los elementos select son problemáticos a la hora de obtener el valor del option seleccionado, en primer lugar por que un select no solamente puede contener un elemento seleccionado, sino varios, aunque es poco común este elemento también fue diseñado para usarse como una lista de valores, esto se hace usando la propiedad multiple de estos elementos: Leer este tip »
Este es un tip corto, tenia que usar un XML y en algunos casos me tiraba error:
PHP Warning: simplexml_load_string(): Entity: line 1: parser error : xmlParseEntityRef: no name in /home/exos/aver.php on line 8
Warning: simplexml_load_string(): Entity: line 1: parser error : xmlParseEntityRef: no name in /home/exos/aver.php on line 8
PHP Warning: simplexml_load_string(): yBack</song><producer>Timbaland,J.Timberlake,Danja</producer><catalogNo>88175* & in /home/exos/aver.php on line 8
Warning: simplexml_load_string(): yBack</song><producer>Timbaland,J.Timberlake,Danja</producer><catalogNo>88175* & in /home/exos/aver.php on line 8
PHP Warning: simplexml_load_string(): ^ in /home/exos/aver.php on line 8
Warning: simplexml_load_string(): ^ in /home/exos/aver.php on line 8
Esto es por que el SimpleXML de PHP no parsea el XML si tiene errores de entidades o formato, y es que muchos generan los XML’s a mano y no escapan bién estas entidades, una solucion que ofrece este formato es usar CDATA, que tiene una sintaxis asi:
<SuperTag>
<subtag>
<valor><![CDATA[Esto no hace falta que esté escapado & `' " < />]]></valor>
</subtag>
</SuperTag>
El objetivo de esta Expresión regular es simplemente aplicar un CDATA en todos los valores que no sean otros tags.
Como ya saben jQuery es comodísimo a la hora de agregar efectos a nuestras páginas y mejorar las interfaces, un simple efecto de fade que antes eran varias lineas de código, ahora es un simple .fedeIn() / . fadeOut(), y asi con muchas cosas, podemos hacer estos efectos “lentos” para dar una sensación mas moderna, hacer desaparecer elementos, o habilitar otros en ciertos casos, los efectos nos suman muchos puntos en cuanto a como se ve la página. Pero tenemos un problema, que pasa cuando 2 efectos se cruzan, por ejemplo, si el desvanecimiento de un div tarda 1 segundo, y a los 500 milisegundos lo hago “reaparecer”, estarémos enviando 2 efectos a la vez, cosa que puede terminar en errores gráficos.
En web2.0-tips, cualquiera puede publicar un consejo, truco o articulo relacionado con el desarrollo y diseño web. Tu puedes registrarte y postear, aparte te quedas con el 80% de impresiones de adsense en tus publicaciones.
Ultimos comentarios