Hero

Como activar el objeto $.browser si estas usando jQuery 1.9 en Drupal 7

Abril 29, 2013

enzo
jQuery
Drupal

Si estas intentando usar jQuery 1.9 como yo en estos momentos es muy probable que estén enfrentando una serie de errores debido a que muchos módulos como Panels y Admin Menu utilizan en su código JavaScript el objeto $.browser o jQuery.browser el cual fue deprecado en la versión de jQuery 1.9+.

Para solucionar este problema podemos utilizar la solución propuesta en Github: https://github.com/pupunzi/jquery.mb.browser

Esta solución implica crear un código que genera el objeto requerido como se muestra a continuación

jQuery.browser = {};
jQuery.browser.mozilla = /mozilla/.test(navigator.userAgent.toLowerCase()) && !/webkit/.test(navigator.userAgent.toLowerCase());
jQuery.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
jQuery.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
jQuery.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());

Una forma de agregar este código de JavaScript es incluir el archivo al archivo .info de tu tema como se muestra a continuación.

scripts[] = jquery.mb.browser.min.js

Otra alternativa es incluir el archivo remoto http://code.jquery.com/jquery-migrate-1.1.1.js

Ojala haya sido de ayuda y feliz jQuery 1.9+

Recibe consejos y oportunidades de trabajo 100% remotas y en dólares de weKnow Inc.