我正在开发一个离线应用程序,其中包含一组.php页面。目前,我已经将这些php文件放入了一个.appcache清单文件中,它可以正常工作。但问题是,即使我在线,当我尝试访问一个php页面时,它仍会加载缓存版本。我希望实现的功能是:
任务管理器(taskmanager.php)的功能是从数据库中读取任务并进行展示。当我像上面那样缓存它时,它将始终显示第一次加载时的任务列表。即使我在线,它也不会调用数据库并获取新条目。相反,它是从缓存中加载的。因此,我的解决方案是将其放在“FALLBACK”部分中,如第一个答案所述。即使我将taskmanager.php文件放在“FALLBACK”部分中,如下所示:
现在,只要我有互联网连接,taskmanager.php 就会运行并显示最新的任务。但是我希望将 static_taskmanager 设计成这样一种方式:它能够与最新的任务集同步。这意味着,当用户离线时,static_taskmanager.php 将显示由 taskmanager.php 在用户在线时返回的最新任务列表。但目前它仅作为一个完全静态的页面工作。
- 如果在线 - 连接到服务器并加载最新信息,使用新信息覆盖缓存。
- 如果离线 - 显示上次更新的静态HTML页面。
CACHE MANIFEST
#2
taskmanager.php
public/css/bootstrap.css.map
public/css/bootstrap.min.css
public/css/bootstrap-theme.css.map
public/css/bootstrap-theme.min.css
public/css/main.css
public/css/task-manager.css
public/js/app.js
public/js/taskmanager.js
public/js/offlink.js
public/js/jquery-2.1.4.js
public/js/bootstrap.min.js
NETWORK:
*
http://*
任务管理器(taskmanager.php)的功能是从数据库中读取任务并进行展示。当我像上面那样缓存它时,它将始终显示第一次加载时的任务列表。即使我在线,它也不会调用数据库并获取新条目。相反,它是从缓存中加载的。因此,我的解决方案是将其放在“FALLBACK”部分中,如第一个答案所述。即使我将taskmanager.php文件放在“FALLBACK”部分中,如下所示:
FALLBACK
taskmanager.php static_taskmanager.php
现在,只要我有互联网连接,taskmanager.php 就会运行并显示最新的任务。但是我希望将 static_taskmanager 设计成这样一种方式:它能够与最新的任务集同步。这意味着,当用户离线时,static_taskmanager.php 将显示由 taskmanager.php 在用户在线时返回的最新任务列表。但目前它仅作为一个完全静态的页面工作。
- 这是否可能实现?
- 我该如何解决这个问题?
编辑
通过在 SO 和 Google 上搜索,我了解到实现这一点的一种方法是使用 AJAX 加载动态内容。但我想知道是否可以仅使用清单文件来完成。