Caches (jq1000)
De Wiki1000
Il y a deux mécanismes mis en œuvres pour gérer le cache et le mode déconnecté.
- Le manifeste HTML 5 permettant la mise en cache des éléments de l'application pour un fonctionnement hors connexion
- Un cache des requêtes permettant la mise en cache des données
cache.manifest
Pour un fonctionnement correct en mode déconnecté :
- le fichier cache.manifest doit être renseigné en entête de votr page HTML
<!DOCTYPE html> <html manifest="cache.manifest">
- Il doit être placé au même niveau que le fichier home.html
- Le fichier cache.manifest doit contenir l'ensemble des éléments utilisés par votre application.
CACHE MANIFEST # rev 6 CACHE: jq/jquery.mobile.icons-1.4.0.min.css jq/jquery.mobile.structure-1.4.0.min.css jq/jquery-1.10.2.js jq/jquery.mobile-1.4.0.js js/jqm-datebox.core.min.js js/jqm-datebox.mode.datebox.min.js js/jquery.mobile.datebox.i18n.en_US.utf8.js js/jquery.mobile.simpledialog.min.js css/jqm-datebox.min.css css/jquery.mobile.simpledialog.min.css <script src="jq/jquery-1.10.2.js"></script> <script src="jq/jquery.mobile-1.4.0.js"></script> css/sage1000mobile.min.css css/sage1000mobile-icons.min.css css/custom.css js/Modernizr.js js/jquery.localize.js js/jquery-ajax-localstorage-cache2.js js/jq1000.js js/jqm1000.js images/ok.svg images/nok.svg images/wait.svg localize/home-fr.json localize/home-gb.json
Tip : Référencez aussi le code source et les styles jquery, si vous essayé de les charger via des CDN vous pourriez rencontrer de grandes difficultés. |
Cache des requêtes
Le cache des requêtes cache le résultat dans un cache locale stocké dans le "localStorage" de l'application.
Tip : Le cache fonctionne lorsque l'application est en mode déconnectée, les requêtes présentes dans le cache retournent les valeurs cachées. |
Ce cache est contrôlé par la variable localCache de la structure option de Ajax.
Dans certain cas il est nécessaire d'effacer le cache, par exemple :
- Après connexion au serveur.
- Après changement de langue.
- Après l'envoie de nouvelles données au serveur.
- Si l'utilisateur désir rafraichir ses données de consultation.
Pour ce faire appeler la fonction
$.l1000.clearCache();
Attention : N'apppelez pas localstorage.clear(); cette fonction efface l'ensemble du stockage alors que clearCache conserve les données de paramétrage de l'application |
Requêtes non cachées
Dans certain cas vous pouvez avoir besoin d'effectuer des requêtes non cachées, pour cela vous pouvez :
- Utilisez directement $.ajax en positionnant localcache:false dans les options
- Utilisez
$.l1000.postNoCache(url, data, success)
qui exécute le même code.