2015-04-28 42 views
1

這是我的代碼如下。Offline.js - 在線時檢查?

簡單地說,我不知道怎麼做,如果連接從ONLINE跳轉到OFFLINE,更新css(https://github.com/hubspot/offline)的事件將被觸發。

如果它從OFFLINE變爲ONLINE,則它會在10秒內更新。但我不確定如何讓它在另一個方向上工作?

看來如果我打電話給Offline.check();手動它會更新,但理想情況下,我希望它自動執行此操作。任何想法歡迎。

Offline.options = { 
    checkOnLoad: true, 
    checks: { 
     image: { 
      url: 'http://example.com/image.gif' 
     }, 
     active: 'image' 
    }, 
    reconnect: { 
     initialDelay: 10, // only check every 10 seconds 
     delay: 10 
    } 
}; 

回答

1

您可以使用Offline.on(event, handler, context)來知道連接何時進入在線/離線狀態。

一樣,如果如果你閱讀文檔here連接掉線

Offline.on('up', function gotOnline(){ 
    console.log("I am online"); 
}) 

Offline.on('down', function gotOffline(){ 
    console.log("I am offline"); 
}) 
+0

謝謝,可惜就是沒有工作,雖然我的代碼。我正在使用手機測試它,並關閉Wi-Fi。我希望這會導致它切換到脫機狀態,但事實並非如此。我從來沒有看到任何東西,只有那個綠色的「在線」框。我不知道它是否相關,但應用程序使用appcache,因此它可以脫機工作,但我仍然需要Offline.js,因此我知道互聯網連接是否在線。 – b85411

1

,你可以看到,離線具有一定的屬性,如Offline.check()Offline.state

您可以使用其中任何一種來顯示您需要的CSS

例如:

if(Offline.state=='down'){ 
    /*assuming that you have that div in your css set to hidden or something else*/ 
    $("#offlineDiv").show('100'); //Just an imaginary div 
} 

然後,當連接掉線.. 使用

offline.on(down, handler)..

現在,這個處理器使得上述一塊CSS開關的使用,爲激活該div 。

+0

對不起,我應該在最初的消息中澄清。我正在使用'Offline.on('confirm-down',...'和'Offline.on('confirm-up',...'作爲事件處理程序。但是這些都不是'up'和'down' '在進行在線到離線轉換時正在工作。離線到在線工作正常。 – b85411

0

下面是使用三元操作

connectionStatus = navigator.onLine ? 'online' : 'offline'; 
 
console.log(connectionStatus);
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>