问题标签 [application-cache]

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 回答
876 浏览

ios - SVG 字体和缓存清单

“SVG 字体不适用于缓存清单。由于清单将 # 视为注释,而 Mobile Safari 需要 URL 中的字体 ID 引用。(通过 Tristan Dunn)”

http://paulirish.com/2010/font-face-gotchas/

回顾一下,本质上 iOS Safari 需要一个 @fontface 声明,后缀后带有一个哈希,如下所示:

在缓存清单文件中使用或省略哈希后缀意味着字体不会呈现。

我已经为支持离线的 iPad Web 应用程序准备好了一切,但是这个故障阻止了我完成项目的这一部分,因为它依赖于使用存储在 App Cache 中的 svg 字体。

考虑到这个问题已经知道一年多了,是否仍然没有解决这个问题?我到处找遍了,什么也找不到。看来这是一个只有 Apple 才能解决的问题,即允许 iOS 使用 WOFF 文件(这仍然意味着旧 iOS 版本的问题),或者更改 Safari 处理清单文件的方式以允许使用 # 后缀。

如果有人有任何进一步的想法/见解,我将不胜感激。

0 投票
1 回答
1533 浏览

html - html5 appcache:远程清单文件有效吗?

我们的应用程序部署到物理设备,因此起始页 index.html 位于设备的存储中,该文件将引用远程托管的 JavaScript 文件和其他资源。也就是说,index.html 本身并不托管在我们的 Web 服务器中。在这种情况下是否可以使用 html5 应用程序缓存?也就是说,html 元素看起来像这样:

这支持吗?或者,如果我们的网络服务器没有托管 index.html,是否有解决方法让它工作?

谢谢!

0 投票
1 回答
2382 浏览

ipad - iPad 离线应用程序上的 HTML5 应用程序缓存 - 如果服务器不可用,则无法正常工作?

我正在为 iPad 开发一个小型 HTML5 Web 应用程序,旨在以全屏模式工作(即,它具有专有的 Apple 元标记,已添加到主屏幕):

该应用程序基本上通过 AJAX 获取一些数据并将其呈现给用户。AJAX 数据是外部的(来自不同的域、不同的服务器)。我有跨域请求的系统设置,它们在在线模式下工作。换句话说:静态数据位于服务器A上,动态数据位于服务器B上。

我创建了一个适当的缓存清单文件,列出了站点的所有静态内容(HTML、CSS、图像、JS),然后将NETWORK: *部分放在最后——这样总是从网络中检索所有动态内容(AJAX)。如果请求失败,应用程序会“优雅地”失败,显示一些虚假内容。

通过上述设置,会发生以下情况:

  1. 如果我在线运行应用程序,一切正常;)
  2. 如果我在 iPad 上禁用 WiFi(纯离线模式),一切都会按预期工作 - 应用程序会退回到离线内容
  3. 如果我再次连接到网络,但将静态内容服务器脱机(缓存了所有内容的服务器),应用程序将无法启动;在闪屏中花了一段时间后,它向我显示了一个弹出窗口<app> could not be opened because it could not connect to the server.;我可以选择关闭或重试。

上面的第 3 点让我抓狂,因为这是我开始摆弄应用程序缓存的唯一原因。如果无法访问清单文件,为什么 iPad Web 应用程序不回退到缓存的内容?(不是404,服务器离线)

HTML5 iphone离线webapp的答案完全不正确吗?如果没有,我怎样才能在 iPad 上实现这种行为?

0 投票
1 回答
1922 浏览

html - HTML5离线存储会不会总是把不同GET参数的URL当作不同的资源?

如果我使用 HTML5 离线存储来缓存清单中的文件,如下所示:

那么如果页面包含这样的代码会发生什么?:

我的实验表明,离线存储render_image.phprender_image.php?look_ma_get_parameter. 这是我想要的行为,所以很好。但我想确保这是我可以依赖的东西,而不仅仅是我测试的浏览器的行为。

我可以依靠这种行为吗?它是规范的一部分吗?

0 投票
2 回答
1727 浏览

html - 如何在 Firefox 中专门禁用 HTML5 应用程序缓存

由于 Firefox 在使用 HTML5 应用程序缓存时提示用户存储数据,所以我想在 Firefox 中禁用它以避免提示通知。

一种方法是提供两种不同的 HTML 文件:一种用于<html>带有<html manifest=...>.

但出于效率目的,我想提供一个静态文件。

那么如何<html manifest=...>在 Firefox 中提供文件时禁用应用程序缓存?

0 投票
2 回答
4166 浏览

html - HTML5 离线 Appcache 更新未在 Firefox 中显示

我的 docroot 中有一个 index.php 文件。它产生以此开头的输出:

manifest.appcache 告诉浏览器缓存它以供离线使用。再次,相关部分:

离线访问在此设置下工作正常,但更新不像我在 Firefox 中所期望的那样工作。

在 Chrome 和 Safari 中,当我更新 index.php 文件然后更改 cache.manifest 文件中的注释时,浏览器将获取新的 index.php 输出并在缓存中使用它。

但是,在 Firefox 中,我似乎并不关心我是否更新了 manifest.appcache 文件。我怀疑如果我等待足够长的时间,它会更新,但我已经尝试等待几个小时。

如何找到并消除我的缓存问题?

0 投票
2 回答
566 浏览

jquery - AJAX not working with cached iPhone webapp

I just made an offline iPhone webapp with the application cache. But the AJAX-calls made with the cached JS-file don't work anymore. It are just jQuery GET requests. They fail to work, but why?

I have internet connection, the webapp needs to update when there is internet, and when there is no internet it gets it's data from a cache.

+

Tried with bare bones ajax too, doesn't work... I get empty response.

Anyone know this problem, and know how to solve it?

0 投票
1 回答
7301 浏览

html - Chrome 报告 html5 缓存清单 mime 类型不正确

我正在尝试为网站设置缓存清单,但运气不佳。演示页面在这里: http: //www.matthewlehner.ca

我正在使用的 HTML 具有以下结构:

根文件夹中的 .htaccess 具有以下条目:

来自'curl -I http://www.matthewlehner.ca/manifest.appcache '的响应

但是 OS X 10.6 上的 Chrome 开发者报告了以下错误:

显然情况并非如此,但我该如何解决这个问题?是 Chrome、.htaccess 还是托管问题?

0 投票
1 回答
637 浏览

html - 更新 HTML5 应用程序缓存 (Chrome) 中的缓存项目

我有一个Web 应用程序,我认为它非常适合使用应用程序缓存,这是我玩的棋盘游戏的实用程序。

我在应用程序缓存中浏览了一个教程,它运行良好......有点太好了。

作为我的部署过程的一部分,我的应用程序中的大多数脚本都被合并和最小化,唯一的例外是 jQuery。对于 jQuery,我使用 Google 托管的副本。

这在我第二次加载页面时引起了问题,在它被缓存之后,因为 jQuery 没有被缓存并且它不会加载它。

我对其进行了更改,以便 jQuery 与其他最小化脚本集成,但我仍然遇到问题。我修改了清单,据我所知,Chrome 下载了更新的清单,但没有下载其中的任何更新资源。

我什至从 HTML 标记中删除了 manifest 属性,但它仍然不会刷新页面。我必须从清单中实际注释掉 /index.html 才能使页面刷新。

因此,只要您仍在缓存相同的资源,更新清单似乎没有任何作用。有什么我想念的吗?如果缓存的项目早于某个日期,清单文件中是否有任何强制再次下载的内容?

编辑添加:我正在 Chrome 上进行测试(稳定)。

0 投票
2 回答
4379 浏览

html - CDN 上的应用缓存清单?

我正在阅读有关 HTML5 的应用程序缓存清单的详细信息(尤其是来自这篇出色的文章)。我很好奇这个想法是否可行:

我们将所有静态资源(脚本、css、字体、图像)托管在子域内的 CDN 上(例如,cdn.example.com 和应用程序位于 www.example.com)。是否也可以在 CDN 上托管应用缓存清单?例如,

如果是,清单列表是否可以来自 CDN 根目录?例如,在清单中:

有没有人有这方面的经验和/或知道任何警告?


编辑: WHATWG 规范的工作草案说“离线应用程序缓存清单可以使用绝对路径甚至绝对 URL ”,然后显示了一个带有图像 CDN URL 的示例。