Páginas

jueves, 30 de septiembre de 2010

Usar JQuery 1.4.2 en Liferay 5.2

Hola a todos,

Hoy me he entretenido en integrar jQuery 1.4.2 en Liferay 5.2, ya que quería algunos efectos de jQuery Tools en uno de mis plugins. El problema surge cuando me entero que la nueva versión de jQuery no es compatible con la que trae instalada Liferay.

Solución:

El fichero de Liferay que se encarga de cargar todas las librerías de javaScript es /html/common/theme/top_head.jsp. Podemos sobreescribir este fichero utilizando un Hook o con el entorno de extensión. Para resolver este conflicto he usado un hook.  A continuación os expongo la solución.


<script type='text/javascript' src='js/jquery_1.4.2.js'></script>
<script type='text/javascript' src='js/jquery.tools.min.js'></script>   
<script type='text/javascript'>  
  
 var $jQuery14 = jQuery.noConflict();  
  
</script>  
  
<script type='text/javascript' src='js/jquery_1.2.6.js'></script>


En definitiva lo que conseguimos es alterar el orden de carga de los ficheros javascript, de manera que cargo la versión mas reciente de jQuery y renombro la variable usada por defecto por jQuery (jQuery.noConflict()). A continuación cargo la versión de jQuery para Liferay.

De esta manera se consigue que no se genere conflicto entre distintas versiones de jQuery.

1 comentario:

  1. Estoy haciendo una pagina con un efecto de esta pagina:http://www.addyosmani.com/resources/shinetime/ el cual usa la version http://code.jquery.com/jquery-1.4.2.min.js
    lo he descargado y probado, todo perfecto pero cuando intento actualizarlo para trabajar con el jquery acutal:http://code.jquery.com/jquery-1.8.3.js, tiene problemas con los efectos, he intentado con :jQuery.noConflict(); pero sin exito, si alguien tiene alguna otra solucion les agradeceria mucho!!!!

    Lo que estas publicando seria prudente hacerlo? ya que se estaria utilizando mas de1 version de jQuery!!

    ResponderEliminar