2016-04-11 6 views
0

私はオンラインでログインしている場合にのみ、ユーザーがオフラインでログインできるようにするWebアプリケーションを作成しています。問題は、ユーザーがオフラインでログインできるようにするために、ログインページをキャッシュする必要があることです。そうすると、ユーザーがログインする前にキャッシュが更新され、サーバーが認証されていないユーザーをログインページにリダイレクトするため、キャッシュされたすべてのページがログインページのコピーになります。キャッシュされた特定のページがアプリケーションキャッシュの更新を行わないようにする

マニフェストURLにパラメータとして渡されたセッションIDを使って他の投稿を見たときに私は望みましたが、ログインする前にキャッシュをダウンロードしていたために助けになりません。オンライン中にログインページを開きますが、オフラインで一度ログインするだけです。

私のログインページなどの特定のページで、ログインページをマニフェストから外さずにキャッシュの更新を停止する方法が必要です。私は次のコードを試したが、とにかくすべてのページがダウンロードされる:

window.applicationCache.addEventListener("checking",function(e){ 
    e.stopPropagation(); 
    e.preventDefault(); 
}, true); 

答えて

0

私がしたいことをする方法を見つけた可能性があります。他の誰かが同様の問題を抱えている場合は、私の解決策です。

  • login_offline.htmlを作成するか、リクエストサーバー側をキャッチして*/login_offline.htmlをlogin.htmlにリダイレクトします。
  • マニフェストの*/login.htmlを*/login_offline.htmlに置き換え、*/login.htmlのマニフェスト宣言を削除してください。置くだけ一度にログインして利用できるすべてのページ内のマニフェスト宣言を残す
  • ないが、すでにそれであれば、マニフェストにフォールバックセクションを追加します。

    FALLBACK:サインイン-offline.htm signin.htmを

関連する問題