【发布时间】:2019-06-24 23:55:42
【问题描述】:
我们目前正在开展一个项目,该项目包括一个网站,以及适用于 Android、iOS 和(是)Windows 手机的应用程序。
这些应用在所有三个平台上都是相同的,并且相对简单,至少在理论上是这样。
- 他们需要提供对网站内容的离线访问。这是静态内容,一组 .html 页面和资产(图像、css、javascript 等)也是如此。
- 当互联网连接可用时,他们需要能够定期自动更新内容。
- 任何外部链接都应在用户的 Internet 浏览器中打开,而不是在应用程序中打开。
- 应用不应显示任何浏览器“chrome”(例如地址栏等)。
Cordova 似乎是解决这个问题的好方法(尽管我愿意接受其他建议)。但是,我很难找到有关如何继续的任何信息。
对于第 1 点,我认为它的工作方式是应用加载某种形式的 Web 视图,指向 file://path/to/site/index.html。假设站点对所有内部链接和资产使用相对 URL,这足以提供站点的完全可浏览的离线版本。该应用程序将附带当前站点的静态导出。
对于第 2 点,我设想 Cordova 应用程序偶尔会运行同步过程,这实际上是向网站 API 发出的一些网络请求,以查明是否有新内容。然后它将下载任何新文件,将它们放在第 1 点中提到的文件结构中,覆盖现有文件。 (出于这个问题的目的,我不在乎这是否会使网站暂时处于不一致的状态。)
第 3 点 听起来 微不足道,但我不确定是否如此。 target="_blank" 就够了吗?或者在点击链接时使用一点 JavaScript 来触发一些 Cordova 动作?我们控制 HTML 的生成方式,因此我们可以在必要时插入额外的标记以供离线使用。
任何人都可以就如何以这种方式处理自动更新的本地静态站点提供任何建议吗?有可能吗?
【问题讨论】:
标签: android ios cordova cross-platform windows-10-mobile