问题标签 [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.
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 处理清单文件的方式以允许使用 # 后缀。
如果有人有任何进一步的想法/见解,我将不胜感激。
html - html5 appcache:远程清单文件有效吗?
我们的应用程序部署到物理设备,因此起始页 index.html 位于设备的存储中,该文件将引用远程托管的 JavaScript 文件和其他资源。也就是说,index.html 本身并不托管在我们的 Web 服务器中。在这种情况下是否可以使用 html5 应用程序缓存?也就是说,html 元素看起来像这样:
这支持吗?或者,如果我们的网络服务器没有托管 index.html,是否有解决方法让它工作?
谢谢!
ipad - iPad 离线应用程序上的 HTML5 应用程序缓存 - 如果服务器不可用,则无法正常工作?
我正在为 iPad 开发一个小型 HTML5 Web 应用程序,旨在以全屏模式工作(即,它具有专有的 Apple 元标记,已添加到主屏幕):
该应用程序基本上通过 AJAX 获取一些数据并将其呈现给用户。AJAX 数据是外部的(来自不同的域、不同的服务器)。我有跨域请求的系统设置,它们在在线模式下工作。换句话说:静态数据位于服务器A上,动态数据位于服务器B上。
我创建了一个适当的缓存清单文件,列出了站点的所有静态内容(HTML、CSS、图像、JS),然后将NETWORK: *
部分放在最后——这样总是从网络中检索所有动态内容(AJAX)。如果请求失败,应用程序会“优雅地”失败,显示一些虚假内容。
通过上述设置,会发生以下情况:
- 如果我在线运行应用程序,一切正常;)
- 如果我在 iPad 上禁用 WiFi(纯离线模式),一切都会按预期工作 - 应用程序会退回到离线内容
- 如果我再次连接到网络,但将静态内容服务器脱机(缓存了所有内容的服务器),应用程序将无法启动;在闪屏中花了一段时间后,它向我显示了一个弹出窗口
<app> could not be opened because it could not connect to the server.
;我可以选择关闭或重试。
上面的第 3 点让我抓狂,因为这是我开始摆弄应用程序缓存的唯一原因。如果无法访问清单文件,为什么 iPad Web 应用程序不回退到缓存的内容?(不是404,服务器离线)
HTML5 iphone离线webapp的答案完全不正确吗?如果没有,我怎样才能在 iPad 上实现这种行为?
html - HTML5离线存储会不会总是把不同GET参数的URL当作不同的资源?
如果我使用 HTML5 离线存储来缓存清单中的文件,如下所示:
那么如果页面包含这样的代码会发生什么?:
我的实验表明,离线存储render_image.php
与render_image.php?look_ma_get_parameter
. 这是我想要的行为,所以很好。但我想确保这是我可以依赖的东西,而不仅仅是我测试的浏览器的行为。
我可以依靠这种行为吗?它是规范的一部分吗?
html - 如何在 Firefox 中专门禁用 HTML5 应用程序缓存
由于 Firefox 在使用 HTML5 应用程序缓存时提示用户存储数据,所以我想在 Firefox 中禁用它以避免提示通知。
一种方法是提供两种不同的 HTML 文件:一种用于<html>
带有<html manifest=...>
.
但出于效率目的,我想提供一个静态文件。
那么如何<html manifest=...>
在 Firefox 中提供文件时禁用应用程序缓存?
html - HTML5 离线 Appcache 更新未在 Firefox 中显示
我的 docroot 中有一个 index.php 文件。它产生以此开头的输出:
manifest.appcache 告诉浏览器缓存它以供离线使用。再次,相关部分:
离线访问在此设置下工作正常,但更新不像我在 Firefox 中所期望的那样工作。
在 Chrome 和 Safari 中,当我更新 index.php 文件然后更改 cache.manifest 文件中的注释时,浏览器将获取新的 index.php 输出并在缓存中使用它。
但是,在 Firefox 中,我似乎并不关心我是否更新了 manifest.appcache 文件。我怀疑如果我等待足够长的时间,它会更新,但我已经尝试等待几个小时。
如何找到并消除我的缓存问题?
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?
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 还是托管问题?
html - 更新 HTML5 应用程序缓存 (Chrome) 中的缓存项目
我有一个Web 应用程序,我认为它非常适合使用应用程序缓存,这是我玩的棋盘游戏的实用程序。
我在应用程序缓存中浏览了一个教程,它运行良好......有点太好了。
作为我的部署过程的一部分,我的应用程序中的大多数脚本都被合并和最小化,唯一的例外是 jQuery。对于 jQuery,我使用 Google 托管的副本。
这在我第二次加载页面时引起了问题,在它被缓存之后,因为 jQuery 没有被缓存并且它不会加载它。
我对其进行了更改,以便 jQuery 与其他最小化脚本集成,但我仍然遇到问题。我修改了清单,据我所知,Chrome 下载了更新的清单,但没有下载其中的任何更新资源。
我什至从 HTML 标记中删除了 manifest 属性,但它仍然不会刷新页面。我必须从清单中实际注释掉 /index.html 才能使页面刷新。
因此,只要您仍在缓存相同的资源,更新清单似乎没有任何作用。有什么我想念的吗?如果缓存的项目早于某个日期,清单文件中是否有任何强制再次下载的内容?
编辑添加:我正在 Chrome 上进行测试(稳定)。
html - CDN 上的应用缓存清单?
我正在阅读有关 HTML5 的应用程序缓存清单的详细信息(尤其是来自这篇出色的文章)。我很好奇这个想法是否可行:
我们将所有静态资源(脚本、css、字体、图像)托管在子域内的 CDN 上(例如,cdn.example.com 和应用程序位于 www.example.com)。是否也可以在 CDN 上托管应用缓存清单?例如,
如果是,清单列表是否可以来自 CDN 根目录?例如,在清单中:
有没有人有这方面的经验和/或知道任何警告?
编辑: WHATWG 规范的工作草案说“离线应用程序缓存清单可以使用绝对路径甚至绝对 URL ”,然后显示了一个带有图像 CDN URL 的示例。