尝试使用缓存清单——在Chrome和Safari中一切似乎都很好,但在移动Safari中却不行。
我已经确保我遵守了HTML5离线应用程序的标准:
-
已添加<;html manifest="cache.manifest">;到加载的单个站点页面
-
确保清单的MIME类型正确(在.htaccess中设置):AddType文本/缓存清单。清单
-
具有语法正确的清单(通过http://manifest-validator.com/)。所有资产都使用相对路径进行引用(因此协议没有变化)。
我在Chrome和Safari中没有收到任何Javascript错误,并且正在使用以下方便的工具将相关事件记录到控制台:
function logEvent(event) {
console.log(event.type);
}
window.applicationCache.addEventListener('checking',logEvent,false);
window.applicationCache.addEventListener('noupdate',logEvent,false);
window.applicationCache.addEventListener('downloading',logEvent,false);
window.applicationCache.addEventListener('cached',logEvent,false);
window.applicationCache.addEventListener('updateready',logEvent,false);
window.applicationCache.addEventListener('obsolete',logEvent,false);
window.applicationCache.addEventListener('error',logEvent,false);
然而,在移动Safari中,我得到了一个"应用程序缓存清单无法获取"错误日志,以及"检查"one_answers"错误"日志事件,没有其他解释。有什么想法吗?
永不终止。。。事实证明,你不能在.htpasswd后面使用清单。禁用它就成功了。