【问题标题】:Force device to cache linked pages for offline use强制设备缓存链接页面以供离线使用
【发布时间】:2017-08-04 18:04:42
【问题描述】:

我创建了一个渐进式网络应用程序,它简单地列出了链接(指向 URL),单击这些链接时会使用设备(例如手机)的默认浏览器打开 URL。

有没有办法告诉设备缓存这些页面,以便它们可以离线使用。

因此,当我的渐进式网络应用离线运行时,之前访问的任何链接也将能够显示在设备默认浏览器中。

【问题讨论】:

  • 澄清这些是我无法控制的不同域上的外部 URL。

标签: android caching browser progressive-web-apps offline-browsing


【解决方案1】:

你可以做两件事:

  1. 预缓存链接集;您可以使用诸如sw-precache 之类的库来执行此操作
  2. 在 PWA 的 Service Worker 的 fetch 事件处理程序中,将用户点击的 URL 放入缓存中。

选项 (1) 的优点是您的应用从一开始就可以离线使用;选项(2)的优点是您的应用程序只会缓存用户感兴趣的链接。我认为您的问题是指选项(2);根据您的用例,您可以决定哪种策略最好。

您可以在 Jake Archibald 的Offline Cookbook article 中了解有关各种缓存和服务策略的更多信息。

【讨论】:

  • 这些可以处理来自其他域的 URL 吗?
  • 是的; SW 是客户端可编程代理,您可以完全控制它; fetch 事件处理程序将拦截对您的域或其他域发出的所有请求。
  • 软件可以处理从您的站点到其他域的请求。但是,如果用户导航到不同的域,您的应用程序的 SW 将无法处理这些请求。
猜你喜欢
  • 2016-06-07
  • 2023-03-10
  • 2013-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-13
  • 2012-12-07
相关资源
最近更新 更多