Comment créer une application Web hors ligne telle que lorsque l'utilisateur visite hxxp: // mon_site/et est hors ligne par rapport à hxxp: // mon_site/hors ligne/est affiché. [Il y a environ 100 pages dynamiques différentes dans mon site Web, donc je ne peux pas les coder en dur dans le fichier manifeste du cache]Utilisation de caractères génériques dans la section FALLBACK du fichier manifeste Cache HTML5
Répondre
CACHE MANIFEST
CACHE:
/Offline/OfflineIndex.html
FALLBACK:
//Offline/OfflineIndex.html
NETWORK:
*
Cela entraînera la redirection de toutes vos pages sur l'ensemble du site hors ligne lorsqu'elles sont hors ligne. Le seul problème est avec la page qui déclare le manifeste car cette page est toujours mise en cache. Cela signifie que vous ne pouvez pas déclarer le manifeste sur chaque page, car chaque page visitée sera alors mise en cache elle-même et non redirigée. Donc, ce que vous pouvez faire est de déclarer votre manifeste sur un autre fichier html (IE.Synchronize.html) puis de vérifier par défaut si votre application a été rendue disponible hors ligne en stockant un cookie ou une valeur localcache. S'il n'est pas redirigé vers synchronize.html avec le manifeste déclaré, définissez la valeur localcache et redirigez-la vers l'index.
Déconnecté AWESOMENESSSSSSSSS !!!!
Il n'est pas possible d'utiliser des caractères génériques dans le manifeste du cache, au moins cela ne fonctionne pas dans tout navigateur actuel pour autant que je sache. Une approche alternative pourrait consister à générer dynamiquement votre manifeste de cache et à laisser un script générer toutes ces entrées de secours.
Oui, il semble que je devrais générer dynamiquement [croissant] FALLBACK. Merci d'avoir confirmé ma peur. – ashishb
@ashishb Je viens de découvrir que l'actuel Firefox 4.0 prend en charge les caractères génériques dans la section de secours. Cela ne fonctionne toujours pas dans les versions de développement Chrome ou Opera. – robertc
Je ferai référence à « manifest.php » au lieu de « cache.manifest », alors mon fichier php ressemble à ceci:
<?php
header('Content-Type: text/cache-manifest');
echo "CACHE MANIFEST\n";
$hashes = "";
$dir = new RecursiveDirectoryIterator(".");
foreach(new RecursiveIteratorIterator($dir) as $file) {
$info = pathinfo($file);
if ($file->IsFile() &&
$file != "./manifest.php" &&
substr($file->getFilename(), 0, 1) != ".")
{
echo $file . "\n";
$hashes .= md5_file($file);
}
}
echo "# Hash: " . md5($hashes) . "\n";
?>
Le fichier hash le garder à jour de sorte que si un changement de fichiers le manifeste change aussi bien. Espérons que cela aide :)
mais comment générer des entrées FALLBACK? – ashishb
Il vous suffira de créer une logique dans ce script pour lister les fichiers FALLBACK (en fonction du chemin, du nom de fichier, etc.) séparément. Boucle une fois, exclure les fichiers FALLBACK. Bouclez à nouveau, n'incluez que les fichiers FALLBACK. – ggutenberg
Référencez votre fichier manifeste dans une iframe invisible de votre page d'index. De cette façon, votre page d'index n'est pas mise en cache car elle est normalement par défaut et vous avez un contrôle total sur vos solutions de repli ...
Pas besoin de cookies non fiables ou de localStorage!
- 1. Manifeste de cache HTML5 dans Safari mobile
- 2. iPhone et HTML5 Cache Manifeste
- 3. HTML5 Cache (Manifest) Section du réseau
- 4. bizarre html5 rechargement manifeste
- 5. Manifeste cache HTML5: que fait-il exactement? la documentation n'est pas claire
- 6. HTML5 Le fichier manifeste du cache lui-même n'est pas mis en cache et appelé à chaque chargement de ressource
- 7. Utilisation de caractères génériques dans CodeIgniter
- 8. fichier batch caractères génériques
- 9. Manifeste de cache HTML5: mettre en liste blanche TOUTES les ressources distantes?
- 10. Solr TermsComponent: Utilisation de caractères génériques
- 11. Mise en cache hors ligne HTML5
- 12. Cache HTML5 - Récupérer la liste des pages mises en cache
- 13. Get-fichier manifeste du JAR
- 14. Utilisation de caractères génériques dans l'instruction préparée - MySQLi
- 15. Utilisation de caractères génériques avec Content Assist dans Eclipse
- 16. Utilisation de génériques dans
- 17. HTML5 Cache Manifest et types de contenu
- 18. Caractères génériques dans Lucene
- 19. Caractères génériques et méthodes génériques
- 20. HTML5 hors-ligne cache google police api
- 21. iPhone - "cache manifest" de HTML5 Commun à beaucoup de webapps?
- 22. Options du compilateur C# - fichier manifeste d'intégration
- 23. html5 cache -> "network: *" ne fonctionne pas
- 24. Comment puis-je ajouter un paramètre au fichier manifeste HTML5 pour le mode hors ligne?
- 25. caractères génériques dans Java PreparedStatements
- 26. Comment éviter l'édition manuelle du fichier manifeste
- 27. Cache-control compatible HTML5 non-cache dans le document?
- 28. Caractères génériques dans l'instruction GRANT?
- 29. Cache d'application HTML5 ne fonctionnant pas
- 30. traduire des caractères génériques de nom de fichier en regex
Ne répond pas exactement à ce que je cherchais mais reste une bonne réponse pour que d'autres puissent le lire afin de mieux comprendre le HTML5 hors-ligne. – ashishb
La mise en cache du manifeste est ce qui m'a lancé dans une boucle. Cela a beaucoup aidé à clarifier. Merci – drogon