Ale*_*sky 12 javascript html5 offline-mode offline-caching
我正在测试HTML5离线应用程序.为此,我将停止本地Web服务器(IIS)并打开应用程序.它加载正常,但一旦请求服务器端API方法就失败了.
我想阻止它,而不是$ .get('/ api/method')从我的本地存储中读取数据.但我可以找到任何设施来了解我的应用程序是否脱机.
if (/* online */) {
// fire ajax
} else {
// ask localstorage
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用navigation.onLine
但似乎总是如此(至少我可以在Chrome中看到).
你有什么建议吗?
编辑:考虑到当前的答案.应用程序清楚地知道它是脱机的,因为它根据cache.manifest占用资源.这对我来说太荒谬了,客户需要做任何诡计和伎俩.我认为应该有一种简单的方法来检查当前模式.
rob*_*rtc 13
一种简单的检查方法是在清单中添加一个回退部分,如下所示:
FALLBACK
/online.js /offline.js
Run Code Online (Sandbox Code Playgroud)
然后在online.js
您将全局变量设置为true时,offline.js
将其设置为false,online.js
只要您计划进行某些联网并在回调中有条件地执行任何处理,您只需通过Ajax 请求.在此期间,维护您的所有app数据客户端.
另一种方法是按照Remy Sharp的建议进行阻塞填充navigator.onLine
.
归档时间: |
|
查看次数: |
5628 次 |
最近记录: |