ash*_*shb 3 html5 offline web-applications application-cache
如何创建启用脱机的Web应用程序,以便在用户访问hxxp:// mywebsite /并且脱机时显示hxxp:// mywebsite/offline /.[我的网站上有大约100个不同的动态页面,因此我无法在缓存清单文件中对所有这些页面进行硬编码]
我引用"manifest.php"而不是"cache.manifest",然后我的php文件如下所示:
<?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";
?>
Run Code Online (Sandbox Code Playgroud)
文件哈希使其保持最新,以便在任何文件更改清单更改时也是如此.希望有帮助:)
小智 5
CACHE MANIFEST
CACHE:
/Offline/OfflineIndex.html
FALLBACK:
/ /Offline/OfflineIndex.html
NETWORK:
*
Run Code Online (Sandbox Code Playgroud)
这将导致整个站点上的所有页面在脱机时重定向到脱机状态.唯一的问题是声明清单的页面,因为该页面总是被缓存.这意味着您无法在每个页面上声明清单,因为每个访问过的页面都将自行缓存而不是重定向.因此,您可以做的是在另一个html文件(IE.Synchronize.html)上声明您的清单,然后从默认情况下通过存储cookie或localcache值来检查您的应用程序是否可用于脱机.如果未使用声明的清单重定向到synchronize.html,请设置localcache值,然后重定向回index.
OFFLINE AWESOMENESSSSSSSSSSS !!!!
| 归档时间: |
|
| 查看次数: |
4569 次 |
| 最近记录: |