Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果(互联网==不可用)在HTML5应用程序清单Offline应用程序中_Javascript_Html5 Appcache_Offline Caching - Fatal编程技术网

Javascript 如果(互联网==不可用)在HTML5应用程序清单Offline应用程序中

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

我想为登录页面设置一个条件,即如果internet连接可用,则检查服务器数据库,否则检查本地存储

我试图通过AJAX调用检查这一点,但当从appcache加载页面时,它总是显示我已连接到Internet。我对清单文件中的回退部分略知一二,但我不知道如何在我的案例中使用它


脱机时如何处理事件?

您可以使用返回布尔值的
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部分。谢谢,我已经更新了我的答案。浏览器检测到用户脱机时,将调用
回退
中声明的部分中的文件。这就是你应该放置代码的地方。让我们来看看。