获取错误:应用程序缓存错误事件:资源获取失败(2)myvideo3.mp4

时间:2015-08-20 23:50:31

标签: html5 google-chrome google-chrome-devtools html5-appcache offline-caching

我在Chrome中收到了离线网络应用的错误消息。谷歌浏览器总是在第三个视频上失败,尽管网址正确点击Google Dev Tools错误消息中的网址,打开并在新标签中播放视频。 (它总是第三个,即使我改变了视频的顺序)

清单有三个视频(每个30-40 MB)。所有这三个都可以在chrome中查看并列在清单中。它显示一条消息,它已下载前两个视频,但第三个视频始终以此消息结束:

Application Cache Error event: Resource fetch failed (2) myvideo3.mp4

我知道清单是正确的,因为(如上所述),点击错误消息中的网址会在Chrome标签页中播放视频。

由于尽管更改了清单中的顺序,它仍然在第3个视频上失败,但我认为这是对应用缓存大小的限制。如何为我的应用增加此功能?这是一个桌面。

CACHE MANIFEST

CACHE:
test.php
image.png
videos/myvideo1.mp4
videos/myvideo2.mp4
videos/myvideo3.mp4

编辑:更多信息: 当我列出三个视频时,它会加载两个视频并在第四个视频上失败。但是,当我拿下第三个关闭并且只有两个列在清单中时,它在第二个视频中失败了!什么可能导致这个? (如果我只有一个视频,那么它会加载一个和整个清单)

使用: 桌面版Google Chrome 43(64位)

2 个答案:

答案 0 :(得分:3)

不仅是每个网络应用的大小限制,还有每个文件的大小限制。来自this post(并经过我的测试确认),32mb per file260 MB per web app

不确定如何找出其他浏览器的限制,因为这似乎没有记录。

答案 1 :(得分:0)

如果我正确理解了这个API文档:https://developer.chrome.com/apps/offline_storage ...

然后它说应用程序缓存是临时存储的一部分,你不能要求更多的空间,你最多可以获得20%的池。

navigator.webkitTemporaryStorage.queryUsageAndQuota ( 
    function(usedBytes, grantedBytes) {  
        console.log('we are using ', usedBytes, ' of ', grantedBytes, 'bytes');
    }, 
    function(e) { console.log('Error', e);  }
);

这个功能告诉我,我有100MB的授权空间。所以我假设我的应用程序有20MB?我怎么知道每个文件的数量是多少?

我不知道上面帖子中提到的限制,他们似乎引用了一个旧答案。