HTML5 Application Cache - manifest
manifest 文件
要向使用application cache 需要为页面的html标签添加manifest属性,属性值是manifest文件路径,可以使用同源的绝对地址,也可以使用相对地址。
<!doctype html> <html lang="zh" manifest="main.manifest"> </html>
application cache是通过mannifest文件来管理的,manifest文件是简单的文本文件,内容是需要被缓存供离线使用的文件列表,及不需要被缓存或读取缓存失败的文件控制。mannifest文件可以使用任意拓展名,但需要在服务器中添加MIME类型匹配,使用apache比较简单,如果使用.manifest作为拓展名在apache配置文件中添加
AddType text/cache-manifest .appcache
使用IIS的话通过界面找到添加MIME窗口添加即可
如何配置
下面是一个manifest文件的示例
main.manifest
1 CACHE MANIFEST 2 #version 0.2.0 3 #date: Nov 24 2013 4 5 CACHE: 6 css/reset.css 7 css/main.css 8 js/jquery.js 9 images/bg.png 10 images/bg_hl.jpg 11 images/icons/yes.png 12 images/icons/top.png 13 offline.html 14 15 NETWORK: 16 * 17 18 FALLBACK: 19 index.html offline.html
1. 文件的第一行必须是 CACHE MANIFEST
2. #开头的行作为注释语句,所以文件中关于版本和日期都是注释,为了方便维护
3. 网站的缓存不能超过5M
4. 文件资源路径可以使用绝对路径也可以使用相对路径
5. 文件列表中任意一个缓存失败都会导致整个缓存失效,浏览器hui按没有application cache处理
6. 既可以站点使用同一个minifest文件,也可以每个页面使用一个
然后看一下CACHE、NETWORK、和FALLBACK三条指令语句
CACHE:指明需要缓存的资源文件,浏览器会自动缓存带有manifest属性的html页面,所以yinyongwmanifest文件的页面不用写在里面
NETWORK:不需要缓存的文件,名字就叫网络工作嘛,可以使用通配符
FALLBACK:无法访问缓存文件的备选文件,也可以使用通配符,上边例子的配置,读取不到index.html的话就会跳转至offline.html
manifest文件在检测到需要更新后,在下次载入页面时才会生效,故如果想在当次生效就需要手动刷新页面,代码如下:
window.addEventListener("load", function (e) { window.applicationCache.addEventListener("updateready", function () { if (window.applicationCache.status === window.applicationCache.UPDATEREADY) { try{ applicationCache.swapCache(); }catch(e){} getOriginNativeHeader(); window.location.reload(); } }, false) }, false);
相关推荐
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...