update'执行失败on 'ApplicationCache':没有应用程序缓存要更新
Failed to execute 'update' on 'ApplicationCache': there is no application cache to update
ApplicationCache不会缓存任何内容
index . html
<!DOCTYPE html>
<html manifest="cache.appcache">
<head>
<title>Zipcode Database</title>
文件缓存。appcache
CACHE MANIFEST
my.js
htacces 文件
AddType text/cache-manifest .appcache
在控制台中运行
applicationCache.update();
then error:InvalidStateError: Failed to execute 'update' on 'ApplicationCache':没有应用程序缓存要更新。代码:11消息:"在'ApplicationCache'上执行'update'失败:没有应用程序缓存要更新。"名称:"InvalidStateError"堆栈:"错误:在'ApplicationCache'上执行'update'失败:没有应用程序缓存要更新。"↵
和applicationCache.cache =0
清单非常好,不同的部分完全是可选的。
如果状态为0
,这仅仅意味着浏览器从未成功下载清单及其所有内容。所以如果你想手动运行applicationCache.update()
方法,确保有一个缓存,并且它目前没有被更新,例如
status == 1 || status > 3
您的cache.appcache
看起来无效,它应该是这样的:
CACHE MANIFEST
#v0.0.1 change this to force update
CACHE:
./my.js
如果在此之后它仍然不工作,你能给我一个完整的HTML,以便我可以测试它更多?
我今天在Chrome浏览器中看到了这个错误。我在我的应用中启用了应用缓存和Service Worker。所以当你禁用Service Worker时,它会像预期的那样工作。但是当两者都有时,Update缓存事件被触发,但是applicationCache.swapCache();抛出错误。
所以解决方法是有条件地添加侦听器if (!('serviceWorker' in navigator)) {
function updateSite(event) {
window.applicationCache.swapCache();
if (confirm("New App Version Was Downloaded. Update now?")) {
window.location.reload();
}
}
window.applicationCache.addEventListener('updateready', updateSite, false);
}
相关文章:
- 使用jquery.load('pageName')方法时,未从应用程序缓存加载Html页
- 通过javascript清除并更新html5应用程序缓存
- 通过应用程序缓存仅更新一个文件
- 未启动html5应用程序缓存
- Safari-->"应用程序缓存清单的MIME类型不正确:text/plain&”;
- 将整个JavaScript文件文件夹添加到HTML5应用程序缓存中
- Mobile Safari是否清理DOM应用程序缓存?何时清理
- 检测远程资源的应用程序缓存生存能力
- 仅在脱机时使用应用程序缓存
- HTML5应用程序缓存文件存储在客户端的位置
- 获取使用 HTML5 应用程序缓存时下载的资源计数
- 应用程序缓存清单在Firefox中未加载,在Chrome和Safari中正常
- 如何忽略/清除Excel任务窗格应用程序缓存
- 是否在应用程序缓存清单更新时更新所有文件?或者只是改变了的那些
- .json文件的HTML5应用程序缓存
- 如果正在更新应用程序缓存,请阻止ajax调用
- HTML5应用程序缓存,获取客户端中缓存文件的列表
- 如何在HTML5'中存储50MB视频;s应用程序缓存
- 应用程序缓存清单-内容在服务器上更新,但客户端不显示更新的内容
- 更新HTML5离线应用程序缓存的正确方法