问题标签 [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.

0 投票
1 回答
2309 浏览

html - HTML5 应用程序缓存清单文件在硬盘上的位置

我有一个使用 HTML5 App Cache 的网站,但我无法确定缓存更新开始的原因。我没有进行更改或添加/删除文件。

清单文件是动态生成的,包括应用程序文件夹中的所有文件,除了一些不应缓存的文件。我想检查缓存的清单文件,看看它和当前版本有什么区别。

浏览器如何存储清单文件,以便它们能够确定它何时已更改以及何时应启动缓存更新?

可以在浏览器缓存文件夹的硬盘驱动器上的某个位置找到此文件吗?

0 投票
1 回答
891 浏览

html - html5 appcache 加载顺序

我正在创建一个包含许多视频/大图像的应用程序,它将使用 appcache 来处理它们的预加载。

有没有办法让我控制这些资产的加载顺序?例如,我想在子页面上加载主页上的大图像/视频。我已经尝试按照我希望它们在 appcache 清单中加载的顺序列出文件,但这似乎没有什么不同。

0 投票
1 回答
1597 浏览

javascript - html5 appcache 添加/删除特定文件

假设我有一个简单的 appcache 清单,如下所示:

然后我使用一些服务器端方法将清单更新为:

然后调用一个函数客户端来更新appcache:

我想将我的新图像“添加”到现有缓存中,而无需再次下载所有内容(这是当前正在发生的事情)。这是可能的还是我错过了一些基本的东西?

0 投票
1 回答
99 浏览

updatesourcetrigger - 触发 AppCache 下载

有没有办法触发应用程序缓存下载?我见过几个提供离线存储下载按钮的网络应用程序,但似乎没有任何事件。

动态更改标签中的清单文件也不起作用。

有人对此有解决方案吗?

提前致谢。

0 投票
3 回答
798 浏览

iis - 在 IIS 中托管 GWT Webapp

我目前正在尝试通过 Web.config 配置 ASP.net Web 应用程序,以在特定文件夹中托管 GWT WebApp。我已经设法在 system.Webserver/staticContent 部分中为 .manifest 文件扩展名配置 mimeMap,但是,我坚持使用 clientCache。我想添加一个缓存规则,以便带有“.nocache”的文件。提供以下标头:

任何人都知道如何在 IIS 7+ 中执行此操作?

0 投票
3 回答
6714 浏览

javascript - 如何在 HTML5 的应用缓存中存储 50MB 视频?

我正在开发一个 iOS 离线应用程序,我正在尝试存储一个 50MB 的视频以供离线观看。但是,在我的 中正确添加视频的 url 后manifest.appcache,我得到一个控制台错误,说 appcache 限制超出了允许的大小。因此,打破了我的整个页面;之后没有加载任何资源。

一旦我从应用缓存中取消链接视频,一切正常。

有没有办法可以规避这种行为?或者,有没有办法可以在 IOS5+ iPad 上存储 50MB 视频以供离线观看?

0 投票
1 回答
798 浏览

html - 应用程序缓存和 404/500 页面

我有一个清单,看起来像这样:

问题是我的 /404.html 和 /500.html 页面(显然提供了 404 和 500 的响应代码)正在触发回退。它们的行为就像服务器离线一样。

我的问题是双重的:

  1. 为什么 /404.html 当 /events 没有触发回退?
  2. 如何允许 /404.html 和 /500.html 在仍然允许 / 的同时不触发回退

触发它。

对于它的价值,我已经尝试过这个:

...但是,由于这些页面是使用非 200 响应代码提供的,因此它会触发应用程序缓存错误回调并且不会保存缓存。

谢谢!

0 投票
2 回答
3307 浏览

javascript - HTML5 appcache,获取客户端缓存文件列表

在我的项目中,我尝试使用 HTML5 appcache 来缓存 CSS 和 JS 等静态资源,以及图像和视频等“用户特定”文件。当我说用户特定的图像/视频时,我试图为每个用户提供单独的文件,并且我还需要控制文件下载的顺序。

鉴于这种情况,我的清单文件将为每个用户动态加载。有没有办法可以获取已经缓存在客户端的资源列表?

如果没有,是否可以在客户端读取“.appcache”文件?

0 投票
2 回答
255 浏览

html - 缓存清单中的设备特定资源管理

有没有办法针对每个设备的缓存中的某些资源。

我正在开发离线 html5 音频播放器。显然,我必须根据 HTML5 规范指定文件类型,例如用于 webkit 的 Mp3 和用于 firefox 的 Vorbis 等。但是,例如在 iPhone 等移动设备上使用时,我只想获取在这种情况下播放 mp3 所需的文件。我有没有办法告诉浏览器缓存特定文件,或者无论如何他们都必须添加所有资源。从而消除了用户必须缓存更多所需文件和超出限制的负担(我知道在移动 safari 中只能缓存 10MB。)

这是我的清单。

所以很明显在Firefox中我只需要缓存oga和webkit mp3。任何见解都会很棒!

0 投票
3 回答
17584 浏览

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 目录没有显示!?!?

感谢您的时间!