if(Internet ==不可用)在HTML5 App Sundest Offiline应用中



我想放置登录页面的条件,如果可以使用Internet连接,请检查服务器数据库,否则请检查LocalStorage。

我试图通过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
});

参考:https://developer.mozilla.org/en-us/docs/web/api/navigatoronline/online

在发布时,在IE11,IE Edge,Firefox 51 Chrome 49 ,Safari 10 ,iOS 9.3 ,Android浏览器4.4 和Chrome上支持此功能,Android 57


UPDATE 看来我误解了您的原始问题。检查清单文件后。从LocalStorage中提取数据的代码应进入FALLBACK部分。您应该将localstorage函数放入offline.html文件中。

FALLBACK:
/ offline.html

参考:https://developer.mozilla.org/en-us/docs/web/html/using_the_application_cache

最新更新