问题标签 [cache-manifest]

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

javascript - HTML5 缓存行为不端

我有这个漂亮的小缓存清单文件,我将它嵌入到我的index.html页面中:

一切顺利,入伍的资源被缓存。然而,尽管我在清单文件的最后两行做出了努力,但浏览器拒绝在随后的重新加载时加载http://www.google.com/jsapi文件,说明它无法加载资源(Chrome)。

该问题存在于 Opera 11、Chrome 15 中,Mozilla 出于某种原因很好。当我删除清单文件时,问题消失了。你们中的任何人都知道这可能是什么原因造成的吗?比较麻烦。>> 在线演示

0 投票
4 回答
25144 浏览

html - 删除 HTML5 离线 AppCache

我有一个带有关联 appcache 清单的 HTML 文档。但现在我想暂时摆脱离线应用程序缓存。

如果我从标签中删除清单<html>,已经有缓存版本的浏览器将继续使用该缓存版本。

如果我更新 appcache 清单,无论如何,仍然有一个 appcache。

删除离线应用程序缓存最明智的方法是什么?我想我可以将清单更改为没有以下条目:

然后它实际上不会缓存任何东西。

但肯定有办法完全摆脱 appcache 和清单文件,不是吗?

0 投票
1 回答
622 浏览

html - 适用于不同设备的可变 HTML5 离线应用缓存

我正在创建一个 HTML5 游戏。该游戏是跨平台的,并且针对具有不同屏幕分辨率的设备具有不同的图形集。质量较低的套装适用于手机,另一套适用于平板电脑和个人电脑。

现在我想让我的应用程序使用 appcache 清单离线工作。自然,我只想缓存所需的图形集,因此我需要根据 User-Agent 字符串选择应该使用的清单文件。

我试图通过iframe有条件地加载 html 文件来欺骗它,但没有运气——缓存只保存在主清单中。

有谁知道如何根据设备选择不同的清单文件?

UPD 在 [Diveintohtml5 Offline Section 1中有一个清单示例:

据我了解,它应该进行延迟加载,并将仅在应用程序联机时请求从应用程序加载的项目添加到缓存中。这个解决方案似乎解决了我的问题,因为我只能加载所需的图形集。然而,在 Chorme 和 iOS Safari 上的实践中,离线缓存除了 offline.html 之外根本没有资源。

0 投票
2 回答
1007 浏览

html - HTML5 离线缓存 javascript 已下载但未刷新

我有一个 html5 离线应用程序。我正在使用 cache.manifest 文件来触发客户端代码刷新。清单中列出了应用程序中的几个 javascript 文件。每当触发离线应用程序更新(通过清单更改)时,我都会将缓存下载事件写入控制台日志。这使我可以查看正在下载/刷新哪些文件。每当我更改清单文件时,我都会正确观察清单中列出的所有 javascript 文件的下载条目。

到现在为止还挺好。

大多数 javascript 文件都会被刷新。我可以通过加载 Chrome 的开发者工具窗口 (CTRL+ALT+I) 并查看资源-> 脚本来查看它们。变化是存在的。

但是,一个文件似乎会导致问题。它被列为正在下载,但是当我查看脚本内容时,它还没有被刷新。没有清单错误,并且整个清单下载和缓存刷新操作完成没有错误。但是,这一文件拒绝被刷新。

任何人都知道发生了什么,以及如何解决它?

0 投票
3 回答
2630 浏览

html - 从 HTML5 离线应用缓存中省略当前页面,但使用缓存的资源

出于性能目的,我想让我的一些网页使用已缓存以供离线使用的资源(图像、CSS 等),但不让页面本身缓存,因为内容将动态生成。

一种方法是重构我的页面,以便它们通过 AJAX 加载动态内容或在 LocalStorage 中查找内容。细节可能会有所不同,但从广义上讲,类似的东西。

如果可能的话,我更愿意找到一种方法来简单地指示浏览器为页面使用缓存的资源(同样是图像、CSS 等),而不是实际缓存(动态生成的)HTML 内容本身。

有没有办法使用 HTML5 离线应用缓存来做到这一点?我的印象是答案是否定的,因为:

  • 包含清单的任何页面都将被缓存,因此我无法在页面本身中指定缓存的资源。
  • 没有办法告诉前一个页面“使用其他页面的离线资源,但实际上并不缓存该页面上的 HTML”。您必须指定页面本身,这意味着 HTML 将被缓存。

我错了吗?似乎可能有一些棘手(或不那么棘手)的方法。现在我已经把它打出来了,我想知道是否在NETWORKappcache 清单的部分中明确地包含该页面是否可以解决问题。

0 投票
1 回答
73 浏览

iphone - 添加到主屏幕时,无论您在 iPhone 上的哪个页面为网站上的某个页面添加书签?

在 iPhone 上,当您为网站添加书签并“添加到主屏幕”时,是否可以将网站中的某个页面设为书签,而不管用户在哪个页面上?

我正在使用缓存清单使我的网站的一部分可以离线使用。我只对某个部分感兴趣,所以我希望某个页面成为用户在离线加载网站时首先看到的内容。

谢谢

0 投票
1 回答
140 浏览

html - 供离线使用的访问控制和缓存清单

我想收集一些关于如何最好地处理需要离线使用的 Web 应用程序中的访问控制的反馈。

该应用程序必须通过用户名/密码进行访问控制,但必须可供离线使用。这意味着用户第一次登录时,用户必须有互联网连接。登录后,应用程序将设置一个 acl cookie,然后通过缓存清单缓存所有资产。

这是一种可靠的方法吗?您还使用了哪些其他方法来解决此问题?

提前感谢您的所有反馈。

0 投票
1 回答
2209 浏览

html - 引用目录默认文档的 HTML5 appCache 清单

在我正在处理的整个 jQuery 移动网站中,我都有以以下方式引用 url 的锚标记:

  • “/目录/”
  • “/目录/子目录/”

这当然是参考:

  • “/目录/index.html”
  • “/目录/子目录/index.html”

那么在我的清单文件中,我是否需要引用“根”版本?例如

或者:

它会自动知道“/directory/”等价于“/directory/index.html”吗?好像不会。

0 投票
1 回答
143 浏览

.htaccess - 将 .htaccess 添加到缓存清单?

我需要将我的 .htaccess 文件添加到我的缓存清单吗?

我知道需要添加站点所需的所有文件才能使其脱机工作,但是站点的 .htaccess 部分是否具有相同的意义?谢谢

0 投票
1 回答
4175 浏览

delphi - 使用 Delphi+Intraweb 创建带有浏览器存储(webSQL/IndexedDB)的 HTML5 离线应用程序(缓存清单)可能吗?

我当前的 Intraweb 应用程序实际上是一个 DataSnap 客户端,它连接到我的 DataSnap 服务器,它与同一台机器上的 Interbase 服务器连接并坐在一起。它可以正常工作,但速度很慢,需要不断的 Internet 连接才能工作。单击的每个按钮或触发的任何事件都需要浏览器连接到 Web 服务器 (Intraweb)。

我正在考虑使用 Delphi XE2 中的 Intraweb、HTML5 缓存清单功能创建一个离线 Web 应用程序,并在移动设备离线时使用基于浏览器的 SQL 存储(例如 webSQL 或 IndexedDB)作为本地浏览器存储。只有当 Internet 连接可用于初始化或同步回 DataSnap 服务器时,它才会连接到真实的 DataSnap 服务器。

有可能吗?

我的主要问题是从 Intraweb Web 应用程序中获取网页的 url,我不想将所有浏览器的存储代码放在模板文件中。

将 Intraweb 生成的 JavaScript 代码移动到其他 js 文件中也很繁琐,这样做可能会破坏 Intraweb 应用程序的代码和逻辑。有什么解决方法吗?