HTML5 localStorage pour les actifs (feuilles de style, JavaScript, images, etc.)

StackOverflow https://stackoverflow.com/questions/2139034

  •  22-09-2019
  •  | 
  •  

Question

Pour gagner du temps de téléchargement du client et l'utilisation du réseau, est-il possible d'utiliser la fonction localStorage de HTML5 pour stocker le contenu des feuilles de style liées, fichiers javascript et les données binaires (par exemple des images), plutôt que de frapper le serveur à chaque fois?

Ne serait-ce que compliquer les choses - puisque je suppose que vous devez ajouter l'actif lié via JavaScript plutôt qu'un élément script ou link, brisant la page pour ceux sans JavaScript activé)? À moins que vous pouvez analyser le contenu (à l'aide HEAD demandé de vérifier la dernière date de modification et d'autres en-têtes) avant que le navigateur télécharge.

Ou mieux juste pour rester avec les en-têtes de 304 Not Modified et eTag?

Était-ce utile?

La solution

Je pense que dans ce cas, vous devriez envisager la mise en cache hors ligne:

Vous pouvez également les données d'entrée utilisateur magasin dans localStorage ou sessionStorage:

Ne pas utiliser globalStorage (pas une norme).

J'ai écrit un article sur hors-ligne, consultez: http: // hacks.mozilla.org/2010/01/offline-web-applications/

Il est sur le hors-ligne, mais ce mécanisme peut être utilisé pour stimuler votre application web.

Autres conseils

Vous pouvez base64 encoder vos données d'image / binaires et le stocker sous forme de chaîne en localStorage, en utilisant base64 urls ne fonctionne pas dans quelques navigateurs il est donc pas une solution parfaite.

CSS et js serait bien, vous pouvez les écrire dans la page, ou utiliser une URL base64 aussi.

Je vous inquiétez pas pour le faire casser le site pour les utilisateurs non JS, comme JS est désactivée, vous pouvez pas accéder à localStorage de toute façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top