保存网页以供在 Web 应用程序中脱机访问

Save webpages for offline access in web app

本文关键字:脱机 访问 应用程序 Web 保存网页      更新时间:2023-09-26

我有一个网络应用程序(sencha/phonegap(,其中包括一项功能,允许用户单击链接到维基百科文章的按钮。 如果设备可以访问互联网,这显然可以正常工作,但是当应用程序离线时,我也收到许多请求以使应用程序正常工作。 为此,我想为用户提供下载链接的文章/网页以供离线访问的选项。 当设备无法访问互联网时,应用程序将显示保存的版本(可能过时/过时,但总比没有好(。完成此任务的可能方法有哪些?

我的第一个想法是以某种方式使用 html 清单在手机浏览器中缓存页面,这在 Android 浏览器上听起来可能,但 iOS 显然有 5MB 的浏览器缓存限制——太小了。

我的下一个想法是保存所需的html和相关文件,并将它们捆绑在应用程序中。 但这似乎是一种相当繁琐的方法,应用程序变得比它需要的要大得多,并且网页会过时,回到应用程序的安装日期。

使用javascript,是否可以下载网页,然后我可以保存(例如在SD卡上(以供以后访问?

还是有更优雅的方法?

如果有人能指出我正确的方向,将不胜感激。

在纯Javascript中,你可以发出Ajax请求来下载页面。然后,您可以使用文件编写器将响应文本写入文件系统上的文件。但是,当涉及到图像时,这对您没有帮助。您需要使用 FileTransfer.download(( 命令来获取二进制图像文件。

如果我是你,我会:

  1. 使用 AJAX 下载 html。
  2. 解析查找图像的 html。
  3. 使用 FileTransfer.download 获取图像。