Autor en Google+
Saltar al contenido

Variable not found. Artículos, noticias, curiosidades, reflexiones... sobre el mundo del desarrollo de software, internet, u otros temas relacionados con la tecnología. C#, ASP.NET, ASP.NET MVC, HTML, Javascript, CSS, jQuery, Ajax, VB.NET, componentes, herramientas...

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, noticias, curiosidades, reflexiones... sobre el mundo del desarrollo
de software, internet, u otros temas relacionados con la tecnología

¡Microsoft MVP!
miércoles, 6 de febrero de 2013
jQuerySeguro que, como un servidor, muchos os habéis vuelto locos con la llegada de jQuery 1.9 al intentar actualizar vuestros proyectos, principalmente por los breaking changes introducidos que han provocado que tanto código propio como muchos plugins dejen de funcionar debido a la desaparición de métodos como live(), $.browser() y otros cambios de envergadura.

Nuestro código podemos modificarlo teniendo en cuenta los cambios de esta versión, hasta ahí sin problema. El dolor viene con los componentes de terceros sobre los que no tenemos control.

No hace demasiado, Eduard Tomás hablaba de los problemas con unobstrusive ajax de MVC, pero hay muchos más reportados, como jqGrid, el célebre plugin para la creación de rejillas de datos.

Normalmente la solución consistiría en actualizar las bibliotecas afectadas, pero eso no siempre es posible; a veces ni siquiera existe la actualización y otras veces, aunque exista (p.e., en el caso de jqGrid), no nos conviene aplicarla por los efectos secundarios que puedan aparecer. También podemos intentar modificar directamente el componente, pero esto, aparte de la dificultad que tiene en algunos casos, provoca que nos salgamos de la línea oficial del producto y puede traer dolores de cabeza en el futuro.

Bien, pues por esta razón, la última actualización de jQuery se lanzó junto con una nueva biblioteca llamada jQuery Migrate, cuyo objetivo facilitar la migración de código anterior a la versión 1.9, “taponando” los agujeros dejados al saltar a la versión más reciente y devolviendo a jQuery las funcionalidades eliminadas, a la vez que nos informará de los problemas existentes en el código para que podamos corregirlos ya con más tranquilidad.

Su uso es bastante sencillo, basta con incluir la biblioteca justo después de jQuery:
<script src="Scripts/jquery-1.9.0.min.js"></script>
<script src="Scripts/jquery-migrate-1.1.0.min.js"></script>
Si en lugar de incluir la versión minimizada (.min) de jQuery Migrate nos traemos la de desarrollo (sin el .min), en la consola del navegador nos aparecerán mensajes indicando los problemas detectados en el código:

Mensajes por consola de jQuery Migrate

Espero que os sea de utilidad. Al menos, es un apaño interesante hasta que todo se vuelva a normalizar tras la entrada de jQuery 1.9 en nuestras vidas, cual elefante en cacharrería ;)

Ah, por supuesto, jQuery Migrate también lo tenemos en Nuget bajo la denominación jQuery.Migrate.

Publicado en: Variable not found.

Estos contenidos se publican bajo una licencia de Creative Commons Licencia Reconocimiento-No comercial-Compartir bajo la misma licencia 3.0 España de Creative Commons

Aún no hay comentarios, ¡sé el primero!