问题标签 [offline-caching]

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 投票
0 回答
82 浏览

java - 应维护缓存,以便即使网络不可用,用户也可以查看上次访问的页面

我已经创建了一个应用程序,如果我们在线阅读一些页面,我希望它也可以在离线模式下维护。这意味着无论我在在线模式下阅读什么,我也希望能够在离线模式下阅读它。谁能告诉我我该怎么做?我是安卓新手。请告诉我逻辑,否则如果有人有相关示例,请发布。

0 投票
2 回答
164 浏览

html - HTML5 离线缓存仅某些文件

我正在尝试使用脱机缓存,但只想缓存某些文件。我在 CACHE: 清单的部分明确指定的文件和页面都很好。但浏览器也总是将文件缓存在“主”缓存中。我不想要这些缓存,它们应该总是从服务器请求。如何阻止它们被缓存?

0 投票
1 回答
55 浏览

html - 离线缓存优先级?

我试图弄清楚是否所有页面都应该包含 manifest 属性。据我所见,指定了 manifest 属性并提供动态数据的页面不会显示最新数据,因为它是从 appCache 提供的。如果我在 NETWORK 部分中指定显示动态数据的页面,这些页面仍将由 appCache 提供。我读过的文档并不清楚优先级。有人可以对此有所了解吗?

0 投票
1 回答
1664 浏览

javascript - 可从缓存中脱机使用的 Web 应用程序

我需要创建一个具有离线支持的 Web 应用程序。当客户端的计算机离线时,Javascript 必须重定向到另一个页面,其中包含来自应用程序的重要信息。

重定向到离线网页

如何/offline/index.html在浏览器缓存中强制保存页面以确保在互联网连接中断时内容可用?

/offline/index.html页面将每 10 分钟更新一次(如果应用程序在线),并且缓存必须仍然刷新。

--

我尝试在主应用程序的 html 中使用缓存清单,但这无法正常工作。离线页面已保存,但在线模式下的其他页面也已保存。我只需要缓存一个文件,offline/index.html我更喜欢使用 Javascript 事件手动重定向到离线页面,而不需要 HTML5 离线解决方案。

我的缓存清单文件:

0 投票
2 回答
3024 浏览

node.js - 用于与服务器同步数据的 Web 应用程序

有没有一种简单的方法可以使用 Web 应用程序管理离线数据,并在有连接时与服务器同步?我一直在看 Meteor、CouchDB 等,但仍然不确定什么是最不痛苦的方式。

我当然可以用套接字或类似的东西自己实现它,但如果已经为此目的制作了一些东西,我看不出有理由再做一次。

我打算使用 Node 作为服务器。

谢谢

0 投票
2 回答
4753 浏览

android - 在android中显示网络错误

我已经用 webview 创建了应用程序。如果我做了任何动作并且网络断开了,我想显示一个警报。我尝试了以下方法,

在 oncreate 方法中添加了这个。

如果我单击登录按钮,如果网络不可用,它应该显示一条错误消息。

但它不工作。请检查我的代码并告诉我我做错了什么

0 投票
0 回答
637 浏览

ipad - 让应用程序缓存适用于 iPad

我无法在 iPad ios 5 上运行应用程序缓存。我的 Intranet 上有一个站点,如果我使用 Safari 或 Chrome,缓存清单被读入,文件被下载到缓存以供离线使用利用。

我已将此日志记录功能添加到我的页面:

在桌面浏览器上,我收到以下消息:

Application Cache Checking 事件 Application Cache NoUpdate 事件在线:是,事件:检查,状态:空闲 /IM/:76 在线:是,事件:noupdate,状态:空闲

但是,对于 iPad,应用程序缓存不会被读取。应该注意的是,由于公司政策,iPad 需要通过备用网络连接到网站。我用 iPad 收到的信息是:

在线:是,事件:检查,状态:未缓存在线:是,事件:错误,状态:未缓存(可能是语法错误)

我们正在使用 IIS 为该站点提供服务,并且我们为 .appcache 添加了一个 MIME 类型,以用作文本/缓存清单。我确实从我的桌面在 Fiddler 中记下了,当我请求该页面时,它返回:

结果 协议 主机 URL 正文 缓存 内容类型 进程 注释 自定义

5 401 HTTP 10.6.4.247 /IM/cache.appcache 1,539 文本/html chrome:9976

Fiddler 说它是作为 text/html 提供的,但由于我们在代理后面,所以状态码是 401。

我不知道如何进一步调试,有人知道如何解决这个问题吗?

谢谢!

0 投票
1 回答
325 浏览

html - asp.net 中的离线应用程序

我正在尝试创建一个具有离线功能的应用程序。我创建的清单文件如下所示 -

我期望的是当我查看此 url /ShareBill.Web-Offline/Groups 时。我的浏览器不应向服务器发出任何请求,否则离线的全部目的将无效。

但正如我使用 fiddler 所观察到的那样,每次我刷新页面时,浏览器都会请求清单文件。我确保我在 Chrome 开发工具中看到了缓存的资源。

现在,当我关闭 IIS 并发出这样的请求时,我最终将 AppCache 状态设置为 OBSOLETE。然后在下一页刷新时,我得到 404 响应。我在实施方面遗漏了什么吗?

0 投票
0 回答
445 浏览

c# - 如何使用 html5 获得完整的离线支持

这一直困扰着我,我有一个需要离线支持的 .net MVC 应用程序。我将 Manifest 文件动态呈现为视图。

在使页面刷新时,我观察到的是-

  1. 第一次一切都是新鲜的。
  2. 第二次,浏览器 (Chrome) 只请求 Manifest 文件。
  3. 现在在所有后续请求中,仅请求 Manifest 文件(服务器返回 200 响应)并从缓存中获取其他文件。

这并没有给我完整的离线支持,因为浏览器仍在向服务器发出请求。理想情况下,如果应用程序支持离线功能,它应该在我的 IIS 停止时仍然可以工作,对吗?

为了解决这个问题,我只在清单文件中添加了 2 小时的到期日期(例如)。这使我的问题在两个方面变得更糟-

  1. 除非清单文件过期,否则浏览器不会在重新联机时获取最新数据。
  2. 如果应用程序仍然离线 2 小时后,它会返回 404 错误(不知道为什么),因为清单文件已过期并且服务器已关闭。
0 投票
1 回答
1747 浏览

html - 如何保证所有应用缓存资源都被下载?

我遇到了最初似乎是间歇性问题,我的应用程序无法脱机工作。

关于我的申请的一些细节:

  • 我的应用程序的入口点是登录页面
  • 我的应用程序中的所有页面(登录页面除外)都显示动态数据。并且为了确保显示动态数据的页面不会被缓存,我选择只让登录页面在其 html 元素中包含 manifest 属性。
  • 我的清单文件中列出的资产的总大小约为 1MB。

我为重现该问题所采取的步骤(假设我的浏览器/设备上没有缓存 applicationCache 资源):

  • 导航到登录页面(applicationCache 资源将开始下载)
  • 立即登录应用程序
  • 下线并请求离线资源
  • 注意浏览器未能从 applicationCache 提供资源

虽然我没有任何具体的证据,但我最终发现的是离开登录页面,而浏览器正在检索 applicationCache 资产的过程中,中断了 appCache 资产的下载并导致离线时无法提供离线资源. 这是预期的浏览器行为吗?如果我等待足够长的时间并让浏览器有机会下载资产,那么离线功能就会起作用。

为了确保离线功能,我是否需要阻止用户离开登录页面,直到触发 applicationCache 缓存事件?