Caches (jq1000)

De Wiki1000
(Différences entre les versions)
(Page créée avec « Il y a deux mécanismes mis en œuvres pour gérer le cache et mode déconnecté. * Le manifeste HTML 5 permettant la mise en cache des éléments de l'application pour ... »)
 
Ligne 1 : Ligne 1 :
 
Il y a deux mécanismes mis en œuvres pour gérer le cache et mode déconnecté.
 
Il y a deux mécanismes mis en œuvres pour gérer le cache et mode déconnecté.
 
  
 
* Le manifeste HTML 5 permettant la mise en cache des éléments de l'application pour un fonctionnement hors connexion
 
* Le manifeste HTML 5 permettant la mise en cache des éléments de l'application pour un fonctionnement hors connexion

Version du 27 février 2014 à 16:38

Il y a deux mécanismes mis en œuvres pour gérer le cache et 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
Tip-20px.png Tip : Le service 1000 à une gestion spécial du cache-control en réponse aux fichier cache.manifest :
       aResponseInfo.ContentType :=  'text/cache-manifest';
       aResponseInfo.CustomHeaders.AddValue('Cache-Control', 'no-cache, no-store, must-revalidate');
       aResponseInfo.CustomHeaders.Values['Pragma'] := 'no-cache';
       aResponseInfo.Expires := 0;
  • 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-20px.png 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-20px.png 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();
Exclam-20px.png 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.

Outils personnels