问题标签 [html5-appcache]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - HTML5 应用程序缓存清单文件在硬盘上的位置
我有一个使用 HTML5 App Cache 的网站,但我无法确定缓存更新开始的原因。我没有进行更改或添加/删除文件。
清单文件是动态生成的,包括应用程序文件夹中的所有文件,除了一些不应缓存的文件。我想检查缓存的清单文件,看看它和当前版本有什么区别。
浏览器如何存储清单文件,以便它们能够确定它何时已更改以及何时应启动缓存更新?
可以在浏览器缓存文件夹的硬盘驱动器上的某个位置找到此文件吗?
html - html5 appcache 加载顺序
我正在创建一个包含许多视频/大图像的应用程序,它将使用 appcache 来处理它们的预加载。
有没有办法让我控制这些资产的加载顺序?例如,我想在子页面上加载主页上的大图像/视频。我已经尝试按照我希望它们在 appcache 清单中加载的顺序列出文件,但这似乎没有什么不同。
javascript - html5 appcache 添加/删除特定文件
假设我有一个简单的 appcache 清单,如下所示:
然后我使用一些服务器端方法将清单更新为:
然后调用一个函数客户端来更新appcache:
我想将我的新图像“添加”到现有缓存中,而无需再次下载所有内容(这是当前正在发生的事情)。这是可能的还是我错过了一些基本的东西?
updatesourcetrigger - 触发 AppCache 下载
有没有办法触发应用程序缓存下载?我见过几个提供离线存储下载按钮的网络应用程序,但似乎没有任何事件。
动态更改标签中的清单文件也不起作用。
有人对此有解决方案吗?
提前致谢。
iis - 在 IIS 中托管 GWT Webapp
我目前正在尝试通过 Web.config 配置 ASP.net Web 应用程序,以在特定文件夹中托管 GWT WebApp。我已经设法在 system.Webserver/staticContent 部分中为 .manifest 文件扩展名配置 mimeMap,但是,我坚持使用 clientCache。我想添加一个缓存规则,以便带有“.nocache”的文件。提供以下标头:
任何人都知道如何在 IIS 7+ 中执行此操作?
javascript - 如何在 HTML5 的应用缓存中存储 50MB 视频?
我正在开发一个 iOS 离线应用程序,我正在尝试存储一个 50MB 的视频以供离线观看。但是,在我的 中正确添加视频的 url 后manifest.appcache
,我得到一个控制台错误,说 appcache 限制超出了允许的大小。因此,打破了我的整个页面;之后没有加载任何资源。
一旦我从应用缓存中取消链接视频,一切正常。
有没有办法可以规避这种行为?或者,有没有办法可以在 IOS5+ iPad 上存储 50MB 视频以供离线观看?
html - 应用程序缓存和 404/500 页面
我有一个清单,看起来像这样:
问题是我的 /404.html 和 /500.html 页面(显然提供了 404 和 500 的响应代码)正在触发回退。它们的行为就像服务器离线一样。
我的问题是双重的:
- 为什么 /404.html 当 /events 没有触发回退?
- 如何允许 /404.html 和 /500.html 在仍然允许 / 的同时不触发回退
触发它。
对于它的价值,我已经尝试过这个:
...但是,由于这些页面是使用非 200 响应代码提供的,因此它会触发应用程序缓存错误回调并且不会保存缓存。
谢谢!
javascript - HTML5 appcache,获取客户端缓存文件列表
在我的项目中,我尝试使用 HTML5 appcache 来缓存 CSS 和 JS 等静态资源,以及图像和视频等“用户特定”文件。当我说用户特定的图像/视频时,我试图为每个用户提供单独的文件,并且我还需要控制文件下载的顺序。
鉴于这种情况,我的清单文件将为每个用户动态加载。有没有办法可以获取已经缓存在客户端的资源列表?
如果没有,是否可以在客户端读取“.appcache”文件?
html - 缓存清单中的设备特定资源管理
有没有办法针对每个设备的缓存中的某些资源。
我正在开发离线 html5 音频播放器。显然,我必须根据 HTML5 规范指定文件类型,例如用于 webkit 的 Mp3 和用于 firefox 的 Vorbis 等。但是,例如在 iPhone 等移动设备上使用时,我只想获取在这种情况下播放 mp3 所需的文件。我有没有办法告诉浏览器缓存特定文件,或者无论如何他们都必须添加所有资源。从而消除了用户必须缓存更多所需文件和超出限制的负担(我知道在移动 safari 中只能缓存 10MB。)
这是我的清单。
所以很明显在Firefox中我只需要缓存oga和webkit mp3。任何见解都会很棒!
manifest - 我的 HTML5 应用程序缓存清单正在缓存所有内容
更新:
** 当这个功能真的很新时,我发布了这个问题,我现在意识到这个功能不应该以这种方式使用,除非它通过 JavaScript 使用。但对于大多数犯同样错误和滥用此功能的初学者来说,似乎这个 hack 是一个很好的解决方案。如果您想缓存除 HTML 之外的所有内容,这应该使用 JS 完成,或者您可以使用下面的解决方案**
我想我的问题归结为:如果使用 HTML 标记的清单属性引用清单的文件属于 MASTER CACHE ENTRIES,那么动态页面如何使用清单。
我的文件如下所示:
现在的问题是,一旦我浏览了不在清单中的页面,我的实际动态 php 文件(如 index.php),当我第一次看到该页面并且没有缓存 chrome 时:
到目前为止一切顺利,直到我实际加载一个页面,并且 chrome 运行:
现在正如您在最后一行中看到的那样,它将 index.php 添加到我的应用程序缓存中,我通过转到 url 验证了这一点:chrome://appcache-internals/
它说:
index.php 和 home.php 之类的东西不应该被缓存。如果可能,我想告诉它不要缓存任何 html 扩展。但这是我从各种 RFC 中学到的东西:一个在线白名单通配符标志,它要么是开放的,要么是阻塞的。
好吧,我想使用这些在线白名单通配符标志之一并将其设置为阻止,但我找不到更多解释或示例。我还读到:
我也想使用一些这样的模式,但我又找不到任何文档。为什么没有 appcache 清单文档的迹象,而且我去过的其他网站也没有使用它,因为我的 chrome appcache 目录没有显示!?!?
感谢您的时间!