应用程序缓存错误事件:资源提取失败(-1)

m90*_*m90 8 video html5 google-chrome cache-manifest html5-appcache

我试图mp4在本地应用缓存中存储一个视频文件(相当小~2.5MB).

清单看起来像:

CACHE MANIFEST
viddy.mp4
Run Code Online (Sandbox Code Playgroud)

Chrome(22.0.1229.94米)将在控制台中记录以下内容:

Creating Application Cache with manifest http://example.net/cache.manifest
Application Cache Checking event
Application Cache Downloading event
Application Cache Progress event (0 of 1) http://example.net/viddy.mp4
Application Cache Error event: Resource fetch failed (-1) http://example.net/viddy.mp4
Run Code Online (Sandbox Code Playgroud)

当我点击错误旁边的链接时,它打开文件很好.

我的清单以正确的MIME类型提供(我正在使用HTML5 Boilerplate .htaccess-file)并且提供了视频Content-Type:video/mp4

我的档案太大了吗?我完全能够以这种方式缓存1MB图像,所以我认为文件大小应该不是问题?台式机和iPad上的Safari确实可以很好地缓存视频.

备注:我已经看到了这个问题,但它没有涵盖我的问题,因为解决方案似乎与Python有关.

Cry*_*ler 8

Chrome不允许以隐身模式存储数据.


Ser*_*nko 4

我遇到了类似的问题,这就是我解决它的方法。在这种情况下,Chrome 不会提供任何有关错误的有用信息。我尝试在 Safari(Mac,但 Windows 也应该可以)中加载相同的页面,并且我得到了描述,指定资源的响应返回 302(重定向)并且 HTML5 应用程序缓存无法处理它。

在您的情况下,可能是相同的,但我建议您启用嗅探器并查看从资源中得到什么响应。如果它与 200 不同 - 您就发现了问题。

PS 我已经缓存了高达 32 MB 的文件,没有任何问题。

  • 感谢您的回答,尽管这对我来说似乎不是问题。我注意到,这种情况仅在 Chrome 中使用“隐身”窗口时才会发生。当使用“标准”窗口时,它工作得很好。可能是一个“错误”(设计使然?) (4认同)