From 4db40c51926d56814c539f3e8d6d88f88aa0a815 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Tue, 14 Oct 2014 11:02:47 +0000 Subject: [PATCH] Perf issue : on surcharge getScript pour le faire cacher par defaut, et on timestamp l'url source pour forcer la recharge du script quand il change --- prive/formulaires/dateur/inc-dateur.html | 2 +- prive/formulaires/selecteur/articles.html | 2 +- prive/formulaires/selecteur/generique.html | 4 ++-- prive/formulaires/selecteur/rubriques.html | 4 ++-- prive/javascript/ajaxCallback.js | 9 +++++++++ 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/prive/formulaires/dateur/inc-dateur.html b/prive/formulaires/dateur/inc-dateur.html index e6089879ca..06fbeb7ce3 100644 --- a/prive/formulaires/dateur/inc-dateur.html +++ b/prive/formulaires/dateur/inc-dateur.html @@ -55,7 +55,7 @@ if (window.jQuery){ jQuery(function(){ if (jQuery('input.date,input.heure').length && typeof date_picker_loading=="undefined"){ - date_picker_loading = jQuery.getScript('#PRODUIRE{fond=formulaires/dateur/jquery.dateur.js}'); + date_picker_loading = jQuery.getScript('[(#PRODUIRE{fond=formulaires/dateur/jquery.dateur.js}|timestamp)]'); date_picker_loading.done(function(){ date_picker_init(); onAjaxLoad(date_picker_init); diff --git a/prive/formulaires/selecteur/articles.html b/prive/formulaires/selecteur/articles.html index 57c0c6c1f8..0802a19031 100644 --- a/prive/formulaires/selecteur/articles.html +++ b/prive/formulaires/selecteur/articles.html @@ -1,5 +1,5 @@ <script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}'; -jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}'); +jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]'); </script> [(#REM) diff --git a/prive/formulaires/selecteur/generique.html b/prive/formulaires/selecteur/generique.html index 8832219202..979756b59f 100644 --- a/prive/formulaires/selecteur/generique.html +++ b/prive/formulaires/selecteur/generique.html @@ -1,7 +1,7 @@ #SET{img_unpick, #CHEMIN_IMAGE{supprimer-12.png}} [(#SET{label_supprimer, <:lien_supprimer:>})] <script type='text/javascript'>var identifiant_selecteur = 'selecteur_#ENV{name}'; var img_unpick='#GET{img_unpick}'; var selecteur_label_supprimer='#GET{label_supprimer}'; -jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}'); +jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]'); </script> [(#REM) @@ -65,7 +65,7 @@ afficher la selection dans un ul class item_picked [(#ENV{sortable,'non'}|=={oui}|oui) <script type='text/javascript'> -jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){ +jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}|timestamp)]',function(){ jQuery(function() {jQuery("ul.item_picked").sortable(); }); }); </script> diff --git a/prive/formulaires/selecteur/rubriques.html b/prive/formulaires/selecteur/rubriques.html index fa8bccd282..d0f3b85633 100644 --- a/prive/formulaires/selecteur/rubriques.html +++ b/prive/formulaires/selecteur/rubriques.html @@ -1,5 +1,5 @@ <script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}'; -jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}'); +jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery.picker.js}|timestamp)]'); </script> [(#REM) @@ -28,7 +28,7 @@ afficher la selection dans un ul class item_picked </div> [(#ENV{sortable,'non'}|=={oui}|oui) <script type='text/javascript'> -jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){ +jQuery.getScript('[(#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}|timestamp)]',function(){ jQuery(function() {jQuery("ul.item_picked").sortable(); }); }); </script> diff --git a/prive/javascript/ajaxCallback.js b/prive/javascript/ajaxCallback.js index 5106b1a13e..46c27ea2cf 100644 --- a/prive/javascript/ajaxCallback.js +++ b/prive/javascript/ajaxCallback.js @@ -139,6 +139,15 @@ if ( !jQuery.browser ) { jQuery.browser = browser; } +// jQuery.getScript cache par defaut +jQuery.getScript = function(url,callback){ + return $.ajax({ + url: url, + dataType: "script", + success: callback, + cache: true + }); +} /** * if not fully visible, scroll the page to position -- GitLab