我的任务是让我公司的 Web 应用程序可以离线使用。在进入实际开发阶段之前,我想确定我当前的策略不会失败。
我首先考虑使用 html5 应用程序缓存,但在做了一些测试后,我发现它似乎没有缓存服务器端操作,而是渲染的实际 html(如果我错了,请纠正我)。这将不起作用,因为呈现的 html 取决于当前登录的人。从我的测试中,它总是呈现 html,就好像最后一个登录(在线)的人正在登录一样。
我目前的策略是这样的:我只缓存登录页面和一个离线 (.html) 页面,以对应需要离线使用的每个 aspx 页面。每次成功登录(在线)都会创建或更新 Web SQL 数据库或 IndexDB(取决于浏览器),其中包含该人离线操作所需的所有数据,包括将用于登录凭据的表。这样,离线登录的唯一要求是使用您的登录凭据登录至少一次。
我担心的是我把它复杂化了。为了完成这项工作,我需要为每个当前页面(很多页面)创建一个 html 页面,并且我必须用 JavaScript 重写当前在服务器上完成的所有内容,包括验证、数据库调用、填充控件例如下拉列表和数据网格等。此外,我将来更改的所有内容都需要后续离线更改。
对于我正在尝试做的事情,我是否有一个既定的最佳实践,我正在忽略或者我正在冒险进入新领域?