|
Home
Asi Como Lo Oye
jQuery 2.0 fue liberado
Escrito por Arturo Garro   
Viernes, 19 de Abril de 2013 16:35
(traducción rápida del jQuery Blog)
Porque usted lo pidió: jQuery 2.0 ha llegado!
Según lo prometido, esta versión deja atrás versiones de Internet Explorer 6, 7 y 8. A cambio es más pequeño, más rápido, y se puede utilizar en entornos de JavaScript donde el código necesario para la compatibilidad con el viejo IE menudo causa problemas. Pero no se preocupe, el equipo de jQuery todavía apoya la rama 1.x, que se ejecuta en IE 6/7/8. Puede (y debe) seguir utilizando jQuery 1.9 (y el próximo 1,10) en los sitios web que necesitan para dar cabida a los navegadores antiguos.

Dónde conseguirlo?

Los últimos jQuery 2.0.0 archivos se pueden encontrar aquí, en la CDN jQuery:
http://code.jquery.com/jquery-2.0.0.min.js (minified, para la producción)
http://code.jquery.com/jquery-2.0.0.js (unminified, para pruebas)
Los archivos también deben estar disponibles en la CDN de Microsoft Google pronto, pero por favor dar un par de días a esta gente antes de soltar una tormenta de tweets impacientes. También recuerde que los sitios web de producción deben solicitado una versión específica de cualquier CDN, utilizando una versión no específica como
/ 2 /
o
jquery-latest.js
se considera perjudicial para la salud y el rendimiento de su sitio web.
Si está actualizando desde una versión anterior a la 1.9, se recomienda que utilice el plugin de migración de jQuery y leer la Guía de jQuery 1.9 Upgrade, ya que ha habido muchos cambios. Es fácil utilizar el plugin, basta con incluir en su archivo HTML después de jQuery y abra su navegador de consola para ver los mensajes que genera:
<script src="http://code.jquery.com/jquery-2.0.0.js"> </ script>
<script src="http://code.jquery.com/jquery-migrate-1.1.1.js"> </ script>

Cómo usarlo?

jQuery 2.0 está pensado para los sitios web modernos, tenemos 1.x jQuery para manejar los navegadores más antiguos y esperamos apoyarlos plenamente por varios años más. Si lo desea, puede servir a los nuevos navegadores 2.0 y 1.9 a los mayores a través del truco del comentario condicional, pero eso no es necesario. La forma más sencilla de apoyar los exploradores más antiguos es el uso de jQuery 1.x en su sitio, ya que trabaja para todos los navegadores.
Con el lanzamiento de jQuery 2.0, hay algunos entornos en los que el equipo de jQuery ya no soporta el uso de la línea 1.x 2.x, porque es una opción mucho mejor. Por lo general son escenarios no de sitios Web, donde el apoyo de los IE antiguos no es relevante. Ellos incluyen:
Google Chrome add-ons
Mozilla XUL aplicaciones y extensiones de Firefox
Firefox OS aplicaciones
Chrome OS aplicaciones
Windows 8 Store ("Modern / Metro UI") aplicaciones
BlackBerry WebWorks 10 aplicaciones
PhoneGap / Cordova aplicaciones
Clase Manzana UIWebView
Control WebBrowser Microsoft
Node.js (combinado con jsdom o similar)
Muchos de estos entornos son en sí mismos son un trabajo en progreso, y tiene un conjunto único de reglas y restricciones que son diferentes de los que se encuentran típicamente cuando se utiliza jQuery para navegadores en los sitios web de Internet. A pesar de que no somos capaces de probar regularmente en todas estas situaciones distintas de los navegadores, nos gustaría escuchar de sus experiencias en el uso de jQuery con ellos. Mejor aún, nos encantaría que las comunidades que apoyan estos entornos a la piscina y compartir sus conocimientos sobre el uso de jQuery 2.0 allí.

2.0 ¿Cómo ha cambiado

Aquí están algunos ejemplos de los cambios que jQuery 2.0 trae:
No más soporte para IE 6/7/8: Recuerde que esto también puede afectar a IE9 y IE10 incluso si se utilizan en sus "Vista de compatibilidad" modos que emulan las versiones anteriores. Para evitar que estas nuevas versiones de IE de volver a caer en los modos prehistóricos, sugerimos usar siempre una etiqueta de X-UA-Compatible o encabezado HTTP. Si puede utilizar el encabezado HTTP que es un poco mejor para el rendimiento, ya que evita un posible analizador navegador reinicie.
Tamaño reducido: El archivo final 2.0.0 es 12 por ciento menor que el archivo 1.9.1, gracias a la eliminación de los parches que sólo se necesitaban para IE 6, 7 y 8. Teníamos la esperanza de eliminar aún más el código y aumentar el rendimiento, pero más viejos Android / WebKit 2.x navegadores son ahora el eslabón más débil. Estamos checkeando cuidadosamente la cuota de mercado de Android 2.x para determinar cuándo podemos tacharlo de la lista de apoyo, esperando que no tome mucho tiempo.
Custom basa en archivos más pequeños: Esta característica se ha perfeccionado y ampliado enormemente desde su debut en jQuery 1.8. Ahora puede excluir combinaciones de 12 módulos diferentes para crear una versión personalizada que es aún menor. Un nuevo motor selector mínima, básicamente una envoltura delgada alrededor del navegador de
querySelectorAll
API, permite reducir el tamaño de construcción a menos de 10 KB cuando minified y comprimido. Consulte el archivo README para obtener instrucciones sobre cómo crear una generación personalizada, y recuerda que ningún plugin que utiliza también tendrán que atenerse al subconjunto seleccionado.
jQuery 1.9 API de equivalencia: jQuery 2,0-API es compatible con 1.9, lo que significa que todos los cambios documentados en la Guía de jQuery 1.9 actualización se han aplicado a 2,0 jQuery así. Si todavía no se ha actualizado a jQuery 1.9, es posible que desee probar la primera. Asegúrese de usar el plugin jQuery Migrar.
El registro completo de cambios puede encontrarse en la lista de cambios más adelante, y en la lista de confirmaciones en GitHub.

¿Qué viene después

De acuerdo con nuestro compromiso de reducir la divergencia entre la API y las ramas 1.x 2.x, estaremos lanzando un jQuery 1,10 dentro de un par de meses que incorpora las correcciones de errores y diferencias reportadas tanto de los ciclos de beta 1.9 y 2.0. En el futuro, será mantener la paridad de funciones entre 1,10 y 2,0, 1,11 y 2,1, etc versiones con parche va a pasar en cada rama en su propio horario, a partir de los recursos del equipo y la gravedad de los errores reportados.
Por favor, intente esta nueva versión con todos los sitios web y las aplicaciones HTML. Si encuentra problemas, crear un caso de prueba mínima (preferiblemente usando un sitio como jsFiddle o jsbin) y enviarlo a nuestro gestor de fallos. Estamos particularmente interesados ​​en aquellas situaciones en jQuery 1.9.1 se comporta de forma diferente a jQuery 2.0.0, ya que eso es algo que hemos tratado de evitar.

Quien nos ayudó?

jQuery 2.0 ha sido de 10 meses de trabajo, un producto del equipo de base de jQuery: Julian AUBOURG, Corey cerval, Oleg Gaidarenko, Richard Gibson, Michal Golebiowski, Mike Sherov, Rick Waldron y Timmy Willison. Oleg y Michal se unió al equipo durante la odisea 2.0, estamos contentos de tenerlos a bordo.
Muchas gracias al equipo contrario jQuery y miembros de la comunidad que contribuyeron correcciones: Steven Benner, Pascal Borelli, Jean Boussier, James Burke, Adam Coulombe, Tom Fuertes, Scott González, Dmitry Gusev, Daniel Herman, Nguyen Phuc Lam, Andrew Plummer, Mark Raddatz , Jonathan Sampson, Renato Oliveira dos Santos, Ryunosuke Sato, Isaac Schlueter, Karl Sieburg, Danil Somsikov, Timo Tijhof y Li Xudong.
Para aquellos de ustedes que probado las betas y reportado errores, estamos especialmente agradecidos por su ayuda, ya que ayudó a que la liberación más sólida y estable.

Cómo puede ayudar?

Por favor, participa! Pruebe el código (especialmente las betas), archivos buenos informes de errores con los casos de prueba claros, contribuyen parches. Escribir o editar documentos. Ven a la Conferencia jQuery Portland en junio y se mezclan con otros jQuery-itas. Visita contribute.jquery.org aprender a involucrarse con el proyecto.
También puede convertirse en un miembro de la Fundación jQuery para apoyar nuestros esfuerzos y obtener algunos regalos fabulosos en el proceso!

jQuery 2.0.0 Cambios

Ajax
# 12838: domManip guión implementaciones de evaluación con firmas alternativas
# 13276:. En IE 9/10 $ parseXML () devolver objetos de documento en lugar de XMLDOMDocument
# 13292:. $ Ajax con 1.9.0 no llama más la función de éxito en el caso de 204
# 13306: La entrada del archivo agregado a formas serializados provocó un cambio en el comportamiento, y sólo la mitad sigue spec
# 13388: Ajax no pide volver responseXML
Atributos
# 12072: Eliminar Firefox obsoleto nodeValue, getAttributeNode, especificado
Construcción
# 12656: Haga caso abreviaturas un módulo excluible
# 13316: Check contra jquery.min.js con TestSwarm
# 13335: "use strict"; descanso asp.net ajax postacks en FF
# 13741: Hacer abrigo * / desenvuelva métodos de un módulo opcional
# 13744: jQuery.fn.size Move () para desuso
# 13755:. Actualización jshintrc para que coincida con la guía de estilo
# 13759: Compresión gzip Mejor indefinido
# 13760: getComputedStyle ya no funciona en el nodo con jsdom
# 13776: comentario de licencia está violando la Sourcemap
Núcleo
# 13356:. Constantemente limpiar después de listo () que
Css
# 13310: hide () y fadein () corromper el valor de visualización css
Diferido
# 13150:. Ser capaz de determinar si $ callback () tiene funciones
Efectos
# 12846: desbordamiento: oculto no se quita al stop () es llamado.
# 13183: cálculo del valor inicial de la animación Wrong (1.9.0rc1)
# 13483:. Problema con stop (true) slideDown () durante slideUp ()
Eventos
# 13360: Crear String.prototype.namespace puede hacer una excepción en jQuery.Event
# 11570: Mover caché elemento al elemento [expando] para evitar la limpieza y reducir el código.
# 13143: e.target puede ser un nodo de texto en la rueda del ratón
# 13554: Move [un] se unen y [un] delegado al evento-alias
Manipulación
# 13232: En 2.0beta1, utilizando HTML () función en un tbody selector rendimientos inserción de nueva tbody
# 13233: El comportamiento inesperado cuando se repite una y otra manipulación de nodos independientes en jQuery 1.9
# 13282: QtWebKit - TypeError: "[object Object] 'no es un argumento válido para' Function.prototype.apply '(evaluación' elem.nodeType ')
# 13596:. ReplaceWith siempre debe retirar el conjunto de contextos
# 13721: remove (": nth-child (1)") funciona de manera distinta filtro (": nth-child (1)"). Remove ()
# 13722:. ReplaceWith manejo argumento es incompatible con otros métodos de manipulación
. # 13779: eliminar () cambió en beta3 - ahora eliminar nodos en orden inverso doc
Selectores
# 13434: Crear opción selector querySelectorAll / matchesSelector
# 13331: jQuery.fn.add regresa orden incorrecto en Chrome y Safari
# 13378: IE8 y IE9 iframe - Filtro (": focus") -. Document.activeElement devuelve error no especificado.
# 13420: jQuery 1.9.1 falla para filtrar los nodos primarios SVG por nombre de clase al usar parent () y el más cercano (.).
# 13499: selector Descendiente falla cuando buscó ID no existe pero sí NOMBRE (sólo IE7)
# 13505: jquery # add: parece conseguir artículos de la colección fuera de orden en las listas de grandes
Soporte
# 10814: haga apoyo tan perezoso como sea posible con cierre en cuenta
# 12040: Prueba contra Política de Seguridad de Contenidos (CSP)
# 13089: Soporte añade estilo zoom al cuerpo en Chrome / Safari
# 13743: Eliminar jQuery.support.boxModel
Atravesando
# 13265: Método padre no con los nodos de texto en IE10
# 13332:. Cercano ("*") da entrada incluso para nodos sin elementos
# 13349: Función encontrar más lento desde el 1.9.0, especialmente en cromo
 
Cómo cerrar tu cuenta de Instagram, y bajar tus fotos
Escrito por Arturo Garro   
Martes, 18 de Diciembre de 2012 14:46

UPDATE: Instagram acaba de publicar en su blog, aclaraciones sobre los nuevos términos y condiciones

Instagram a cambiado su política de uso, y ahora podrá vender sus fotos. Las políticas de uso dice "Usted está de acuerdo en que una empresa u otra entidad nos pague para mostrar su nombre de usuario, likes, fotos (incluyendo la metadata asociada), y/o acciones que realice, en conexión con contenido patrocinado o promociones, sin ninguna compensación para usted". Se puede ver en el punto 2 de "Derechos" o "Rights"

Qué hacer entonces?

Simple, cierre su cuenta. para hacer esto, puede importar las fotografias desde un servicio como instaport Actualmente exporta a .zip y próximamente exportará directamente a a Flickr o Facebook. (en este momento Instaport esta saturado, imagino que miles de personas tratando de respaldar y borrar sus fotos.)

También se puede usar una aplicación para bajar las fotografias como 4k Stogram

Luego de hacer esto borre sus fotos de Instagram, y por último, borre su cuenta directamente desde el app.

Recuerde, si borra su cuenta, nunca más podrá usar su nickname, porque Instagram no permite reabrir la cuenta con su mismo nickname.

 

Última actualización el Martes, 18 de Diciembre de 2012 22:33
 
CSS3: Animaciones usando CSS Transform
Escrito por Arturo Garro   
Martes, 05 de Junio de 2012 19:44

En CSS3, la posibilidad de animar elementos de una página, pueden ser controlados por la propiedad -webkit-transform (-moz-transform, -o-transform, -ms-transform)

La propiedad transform permite manipular varias propiedades, como desplazamiento, rotación, escalado, perspectiva y sesgado.

El -webkit-transform generalmente se usa en combinación con -webkit-transition, que es el que controla los tiempos o tiempos de espera de las animaciones.

por ejemplo, definamos dos div's y sus propiedades:

En la parte de estilos, se pone lo siguiente:

#stage {
position: relative;
float: left;
margin: 0 0 1em 1em;
width: 200px;
height: 200px;
background: #EFEFEF;
}
#block {
background: blue;
width:100px;
height:100px;
left:0px;
top:0px;
position:absolute;
}

-Dentro del body, ponemos los elementos:

<div id="stage">
<div id="block"></div>
</div>

Hasta aqui, no tenemos nada extraordinario, simplemente son dos elementos, uno dentro del otro, sin animación.

Ahora, a ponerle la parte interesante al asunto: las animaciones!

Vamos a animar el elemento #block, y para esto le agregaremos primero las transiciones, con las etiquetas del -webkit-transition, de esta forma:

 

#block {
background: blue;
width:100px;
height:100px;
left:0px;
top:0px;
position:absolute;
-webkit-transition-property: -webkit-transform, background;
-webkit-transition-duration: 2s, 1s;
-webkit-transition-timing-function: linear, ease-in-out;
-webkit-transition-delay: .5s, .7s;
}

luego de la última propiedad "position:absolute", están agregadas las transiciones.

La primera

-webkit-transition-property

indica a qué propiedades serán aplicadas las transformaciones, en este caso al -webkit-transform y al background. Cualquier otra propiedad definida más adelante, no tendrá ningún cambio.

 

La etiqueta

-webkit-transition-duration

indica cuánto tiempo durarán las animaciones, en este caso, 2 segundos y un segundo respectivamente. También pueden ser usadas en milisegundos "500ms" por ejemplo.

 

La etiqueta

-webkit-transition-timing-function

indica que funciones de tiempo se usarán. Esto modifica la forma en que se realiza la animación.

 

La etiqueta

-webkit-transition-delay

indica que la animación se esperará un tiempo determinado antes de empezar.

Luego podemos agregar propiamente la animación:

#stage:hover #block {
background: red;
-webkit-transform: translate3d(100px,100px,0) rotate3d(0,0,0,90deg);
}

En este caso, le estamos cambiando el color de fondo al elemento #block, y con el -webkit-transform primero se está moviendo con el translate3d(100px,100px,0) el elemento 100 pixeles hacia abajo y 100 pixeles hacia la derecha. La segunda instrucción rotate3d(0,0,0,90deg) indica que el elemento rotará 90 grados. Los primeros parámetros del rotate indican si la rotación es en el eje de las X, el eje Y o el eje Z. Como todos están en 0, entonces rotará en el centro sobre su eje.

La animación se dispara cuando el mouse pasa por encima del div #stage

Aca el código completo para copiar y ejecutar:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=1024,height=768,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<style type="text/css">
#stage {
position: relative;
float: left;
margin: 0 0 1em 1em;
width: 200px;
height: 200px;
background: #EFEFEF;}

#block {
background: blue;
width:100px;
height:100px;
left:0px;
top:0px;
position:absolute;
-webkit-transition-property: -webkit-transform, background;
-webkit-transition-duration: 2s, 1s;
-webkit-transition-timing-function: linear, ease-in-out;
-webkit-transition-delay: .5s, .7s;
}
#stage:hover #block {
background: red;
-webkit-transform: translate3d(100px,100px,0) rotate3d(0,0,0,90deg);
}
</style>
</head>

<body>
<div id="stage">
<div id="block"></div>
</div>
</body>
</html>

Última actualización el Martes, 12 de Junio de 2012 14:33
 
Problemas con emails: Hotmail renderiza el simbolo © como una imagen
Escrito por Arturo Garro   
Lunes, 23 de Abril de 2012 20:44

hotmail copyright issue

UPDATE: Hotmail arregló el problema, algunas semanas después.

Hace unos días Hotmail está teniendo un comportamiento muy particular: Esta conviertiendo los simbolos &reg; (®), &trade; (™) &spades; (♠), &clubs; (♣), &diams; (♦) and &hearts; (♥) en las imagenes de sus emoji (la lista completa puede ser vista aca), cambiando todo el formato asignado a los correos electrónicos.

Hay dos formas fáciles de solucionar este comportamiento:

  • Cambiar los símbolos por (C) (R) o (TM) tal y como se hace en los correos de texto.
  • Crear su propia imagen de © &copy; ® &reg; de acuerdo a sus necesidades.

Existe otra forma que rompería algunas de las mejores prácticas de construcción de correos electrónicos, y es cambiar el tamaño de que hotmail le da a la imagen (16x16)

Se agrega el siguiente código en el encabezado del correo electrónico:

<style>
/* Arreglar las imagenes símbolos de Hotmail */
.symbolfix img{width:10px !important;height:10px !important;}
</style>

Y pone el siguiente código encerrando el símbolo deseado:

<span class="symbolfix">&copy;</span>

Esto hará que cambie el tamaño de la imagen de Hotmail, pero no arreglará el color (si es que tiene algún color asignado).

Solo esperamos que la presión de la industria haga que cambie este comportamiento errático de hotmail.

 

Última actualización el Lunes, 18 de Junio de 2012 22:27
 
Requiem de Mozart
Escrito por Arturo Garro   
Lunes, 30 de Abril de 2012 02:29

 

Este fin de semana en el Teatro Nacional de Costa Rica, La Orquesta Sinfónica y el Coro Sinfónico montaron el Requiem de Mozart, en una espectacular interpretación. Tuve la osadía de sacar el iPad y grabar el concierto en mis regazos, sean indulgentes con la grabación, pero aún con pocos recursos técnicos, se puede notar la gran calidad de los músicos de la Orquesta, y aun más la brillantez del Coro.

There seems to be an error with the player !

Link de Descarga: Requiem de Mozart

Última actualización el Lunes, 30 de Abril de 2012 03:11