这是必要的,因为人们将能够在他们的设备上“安装”web应用程序(例如,使用iPhone上的“添加到主屏幕”功能),然后在他们离线时使用该应用程序;用法只会受到限制(此时也不需要服务器调用).
这可以用.aspx页面完成吗?
编辑 – .manifest补充说:
CACHE MANIFEST index.aspx /logo.png /main.css /main.js
编辑2号 –
我们让它以一种时尚的方式离线工作;它在safari中有效,但我们不想在safari中使用它,我们希望它作为一个独立的应用程序.当我们尝试像这样运行它时,我们得到’无法连接到服务器错误’.这是否可以使用.aspx页面?
编辑3号 –
我们已经使用.html页面工作但仍然没有使用.aspx
编辑4-
它现在正在工作,虽然我们不确定为什么!我们上周将index.aspx添加到了cache.manifest的’network’部分(上周没有工作!),这可能有所帮助,但一旦我知道我会更新你实际发生的事情!
感谢大家的帮助!
解决方法
对于离线功能,有一些替代方案:
01 – 如果您需要在离线应用程序中存储少量数据,并且安全性不是一个大问题,您可以使用HTML5 Web存储(link,link,link,link,link,并查看CanIUse以了解浏览器版本支持).
主要缺点是它缺乏安全性,基于键值(没有复杂的结构),并且存储大小存在很大限制(大多数浏览器为5MB).
02 – 如果您需要更大量的数据,可以查看IndexDB(link,link,link和CanIUse)或Web sql(link,link,link和CanIUse以获得浏览器支持).
Web sql的主要缺点是Firefox和IE不支持它.此外,它被W3C弃用.
IndexDB很好(link),但似乎ios仍然不支持它(参见canIUse).
对于方法1和方法2,您可以在ASP.NET应用程序中创建响应式设计或专用移动Web站点(link).
03 – (更高的灵活性需要更多的努力)在ASP.NET应用程序和应用偶尔连接应用程序概念的移动本机应用程序中实现Web服务(更多信息:link,link)
> ASP.NET Web Application =>对于Web应用程序,使用与脱机功能相关的服务公开Web Service.
>移动应用程序=>使用应用程序的数据库实现本机移动应用程序(例如,为Android和iphone开发应用程序).然后,您将在移动应用程序中创建脱机功能,该功能将使用其自己的数据库来读取和写入必须可脱机使用的数据(本地).
然后,您可以在移动应用程序中实现静默同步机制,该机制依赖于互联网(例如,循环线程),该机制将通过Web服务访问ASP.NET应用程序来搜索更新.此同步机制将发送本地存储的数据,并从Web Service恢复可用于脱机功能的数据.
希望能帮助到你.