Parfois je me pose des questions existentielles. Hier c’était de savoir si le cache applicatif de HTML 5 pouvait être activé dynamiquement par javascript lors de l’exécution de la page, au lieu d’être déclaré de façon statique dans le code HTML.
L’idée derrière cette interrogation est que le cache applicatif ne soit activé que sur certains critères (compatibilité du navigateur avec le code javascript utilisé, requête spécifique de l’utilisateur, etc.).
Petit test :
<!DOCTYPE html><html> <head><meta charset=utf8><title>TEST offline</title></head> <body><script> document.documentElement.setAttribute("manifest", "cache.manifest") ; window.applicationCache.update() ; </script><body> </html>
J’ai été agréablement surpris par Mozilla Firefox, qui accepte le tout sans broncher. La déconnexion permet de vérifier que le cache applicatif fonctionne sans heurs.
Mes espoirs se sont arrêtés là, Chrome déclenche une exception sur la mise à jour à seconde ligne de script. Il faut déclarer le cache de façon statique dans le HTML. Pas le choix, dommage.
2 réponses à “Déclencher le cache applicatif HTML 5 par javascript”
Un cache application est créé lors du chargement de la page. Firefox a un bug, qui est supposé renvoyé INVALID_STATE_ERR. Une des raisons est que le document chargé depuis le cache, n’aurait pas l’attribut manifest= » » et donc perdrait tout son intérêt qui est justement de faire fonctionner le cache.
ah oublié. Safari et Opera renvoient le bon code d’erreur.