1

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

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

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

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

还是有更优雅的方法?

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

4

1 回答 1

0

在纯 Javascript 中,您可以发出Ajax请求来下载页面。然后您可以使用FileWriter将 responseText 写入文件系统上的文件。但是,在图像方面,这对您没有帮助。您需要使用FileTransfer.download()命令来获取二进制图像文件。

如果我是你,我会:

  1. 使用 AJAX 下载 html。
  2. 解析 html 以查找图像。
  3. 使用 FileTransfer.download 获取图像。
于 2012-05-07T14:31:36.430 回答