2017-03-15 14 views
0

私は簡単なWebアプリケーションで私のインターネット接続をチェックするためにOffline.jsを使用しています。問題は、最初の接続メッセージだけを受信して​​から何も受信しないということです。Offline.js does not work

$(document).ready(function() { 
Offline.options = { 
    checkOnLoad: true, 
    interceptRequests: true, 
    reconnect: { 
     initialDelay: 3 
    }, 
    requests: true, 
    game: false 
}; 

console.log(Offline.check()); 

Offline.on("up",function() { 
    console.log("connected"); 
}); 
Offline.on("down", function() { 
    console.log("disconnected"); 
}); 
}); 
+0

ファイルをどのように実行しますか?ローカルでfile:///を使用していますか? – meisterluk

+0

私はindex.jade(私のホームページ) – Gianmarco6000

答えて

0

file://スキームを使用してローカルで実行しない限り、スクリプトは正常に動作します。

Offline.jsがドメインへの要求を/favicon.icoにして、現在実行中です。ローカルスキームの場合、それ自体に対する要求はセキュリティの脅威をもたらす可能性があります。したがって、デフォルトでは無効になっています。

  1. Google Chromeを起動するには、--allow-file-access-from-files引数を使用します。
  2. MacまたはLinuxでは、ファイルのフォルダに移動し、python3 -m http.serverを実行します。ブラウザでlocalhost:8000/にアクセスし、HTMLファイルを探します。

これらの手法を使用すると、HTMLファイルがHTTP経由で提供され、適切なAJAX呼び出しを行い、Offline.jsが再び機能します。

短い:オフライン.jsはfile://スキームでは機能しません。

+0

にファイルを含めるヒントをお寄せいただきありがとうございます。このアプローチでは、他のユーザーが "--allow-file-access-from-files"でGoogle Chromeを使用する必要があります。自動的に動作させる方法はありますか? – Gianmarco6000

+0

悲しいことに、サーバーを(ローカルまたはWWW上で)提供するか、または引数を使ってGoogle Chromeを起動する必要があります。たとえば、Mozilla Firefoxでは、このようなオプションは提供されません。 – meisterluk