Déclen­cher le cache appli­ca­tif HTML 5 par javas­cript


Parfois je me pose des ques­tions exis­ten­tielles. Hier c’était de savoir si le cache appli­ca­tif de HTML 5 pouvait être activé dyna­mique­ment par javas­cript lors de l’exé­cu­tion de la page, au lieu d’être déclaré de façon statique dans le code HTML.

L’idée derrière cette inter­ro­ga­tion est que le cache appli­ca­tif ne soit activé que sur certains critères (compa­ti­bi­lité du navi­ga­teur avec le code javas­cript utilisé, requête spéci­fique de l’uti­li­sa­teur, 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éa­ble­ment surpris par Mozilla Fire­fox, qui accepte le tout sans bron­cher. La décon­nexion permet de véri­fier que le cache appli­ca­tif fonc­tionne sans heurs.

Mes espoirs se sont arrê­tés là, Chrome déclenche une excep­tion sur la mise à jour à seconde ligne de script. Il faut décla­rer le cache de façon statique dans le HTML. Pas le choix, dommage.


2 réponses à “Déclen­cher le cache appli­ca­tif HTML 5 par javas­cript”

  1. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.