HTML5离线缓存Manifest是什么

2020-04-21 22:50:55易采站长站整理

1、用户清空浏览器缓存;
2、manifest文件被修改,哪怕是注释(所以可以通过修改注释来更新文件)
3、由程序来更新

缓存状态
在程序可以通过window.applicationCache属性来查看缓存状态。

C/C++ Code复制内容到剪贴板

var appCache = window.applicationCache;   
    
switch (appCache.status) {   
    
  case appCache.UNCACHED: // UNCACHED == 0   
    
    return ‘UNCACHED’;   
    
    break;   
    
  case appCache.IDLE: // IDLE == 1   
    
    return ‘IDLE’;   
    
    break;   
    
  case appCache.CHECKING: // CHECKING == 2   
    
    return ‘CHECKING’;   
    
    break;   
    
  case appCache.DOWNLOADING: // DOWNLOADING == 3   
    
    return ‘DOWNLOADING’;   
    
    break;   
    
  case appCache.UPDATEREADY:  // UPDATEREADY == 4   
    
    return ‘UPDATEREADY’;   
    
    break;   
    
  case appCache.OBSOLETE: // OBSOLETE == 5   
    
    return ‘OBSOLETE’;   
    
    break;   
    
  default:   
    
    return ‘UKNOWN CACHE STATUS’;   
    
    break;   
    
};   
  

为了通过编程更新cache,首先调用 applicationCache.update()。这将会试图更新用户的 cache(要求manifest文件已经改变)。最后,当 applicationCache.status 处于 UPDATEREADY 状态时, 调用applicationCache.swapCache(),旧的cache就会被置换成新的。

C/C++ Code复制内容到剪贴板

var appCache = window.applicationCache;   
    
appCache.update(); // Attempt to update the user’s cache.