Javascript 如果(互联网==不可用)在HTML5应用程序清单Offline应用程序中
我想为登录页面设置一个条件,即如果internet连接可用,则检查服务器数据库,否则检查本地存储 我试图通过AJAX调用检查这一点,但当从appcache加载页面时,它总是显示我已连接到Internet。我对清单文件中的回退部分略知一二,但我不知道如何在我的案例中使用它Javascript 如果(互联网==不可用)在HTML5应用程序清单Offline应用程序中,javascript,html5-appcache,offline-caching,Javascript,Html5 Appcache,Offline Caching,我想为登录页面设置一个条件,即如果internet连接可用,则检查服务器数据库,否则检查本地存储 我试图通过AJAX调用检查这一点,但当从appcache加载页面时,它总是显示我已连接到Internet。我对清单文件中的回退部分略知一二,但我不知道如何在我的案例中使用它 脱机时如何处理事件?您可以使用返回布尔值的Navigator.onLine轻松获取客户端的internet状态 if (!navigator.onLine) { //Browser is offline, pull dat
脱机时如何处理事件?您可以使用返回布尔值的
Navigator.onLine
轻松获取客户端的internet状态
if (!navigator.onLine) {
//Browser is offline, pull data from localStorage
} else {
//Browser is online, pull data through AJAX
}
您还可以将其绑定到事件侦听器,以便可以动态更改数据源:
window.addEventListener('offline', function(e) {
//Browser is offline, pull data from localStorage
});
参考:
发布时,在IE11上,IE Edge、Firefox 51+Chrome 49+、Safari 10+、iOS 9.3+、Android浏览器4.4+和Android浏览器57+
更新看来我误解了你原来的问题。检查清单文件后。从localStorage提取数据的代码应进入
回退部分。您应该将localStorage函数放入offline.html
文件中
FALLBACK:
/ offline.html
参考资料:定义“可用”。这并不一定容易。有时它只是简单地损坏了,但问题是它在技术上工作,但速度非常慢。但是当从appcache加载页面时,它总是向我显示我已连接到Internet
您的ajax响应已被缓存。@Bharat向我们展示您是如何实现它的,将您的代码粘贴到JSFIDLE中,并将链接粘贴到此处:)上述函数可以工作,我们在许多HTML Web应用程序中使用它。我确信这只是一些实现上的怪癖。让我们看看。当然。我把清单放在HTML部分。谢谢,我已经更新了我的答案。浏览器检测到用户脱机时,将调用回退
中声明的部分中的文件。这就是你应该放置代码的地方。让我们来看看。