Scripts pour uPortal
uPortal 3.2 utilise le framework jQuery (1.3.2) pour les scripts javascript à faire exécuter par le navigateur
Les scripts et bibliothèques sont déclarés dans le fichier custom/uPortal/uportal-war/src/main/webapp/media/skins/<ma_structure>/<mon_theme>/skin.xml (voir Habillage (esup-3))
Pour ajouter du code jQuery utilisable dans le portail :
- soit l'inclure dans le fichier custom/uPortal/uportal-war/src/main/webapp/media/skins/ma_structure/common/javascript/uportal/esup-plugin.js déjà déclaré dans skin.xml
- soit le stocker dans un nouveau fichier qu'il faudra alors déclarer dans skin.xml avant de redéployer le portail
Méthode d'écriture de script :
uPortal libère la variable jQuery et donc $, après la déclaration des scripts pour éviter les conflits (il utilise l'objet up à la place) :
var up = up || {}; up.jQuery = jQuery.noConflict(true);
Il faut donc, dans les scripts à inclure dans le portail, encapsuler le code dans une fonction anonyme à laquelle on passe l'objet jQuery avant qu'il ne soit détruit :
(function($){ // Script dans lequel on peut utiliser l'objet $ })(jQuery);
Scripts pour portlets
- Si la portlet utilise du code jQuery compatible avec le portail (jQuery-1.3.2 et éventuellement jQuery-ui-1.7.2) : Ne pas redéclarer ces bibliothèques dans la portlet et déclarer les scripts dans le portail en utilisant des clotûres javascript (voir scripts pour uPortal)
- Si la portlet utilise du code jQuery d'une autre version : Déclarer les bibliothèques jQuery et les scripts dans la portlet et utiliser des clotûres javascript