/ /コンテンツがブラウザにキャッシュされていない場合にのみプリローダーを実行する - jquery

コンテンツがブラウザにキャッシュされていない場合のみプリローダーを実行する - jquery

私は次のように非常に単純なjQueryプリローダーを持っています:

$(window).load(function() {
$("#load-info").fadeOut();
$("#preloader").delay(500).fadeOut("slow", function() {
this.remove();
});
});

プリローダーIDは、全体が白い背景ですページの高さ、#load-infoはローディングテキストとスピナーです。スピナーを完了すると読み込みメッセージがフェードアウトし、白い背景がフェードアウトしてページコンテンツが表示され、アイテムがDOMから削除されます。これはうまくいくが、私はそれを一歩踏み外して、単にページをリフレッシュしたり再訪した場合にプリローダーを見ないようにしたかった。

私は単にフェードを削除することができることを知っていますが、プリローダーが実際に必要なときには、それはあまりにも急であろう。私はたぶんタイムスタンプを考えていて、時間がかかっているかどうかを確認していましたが、500msと言いますと、プリローダーを実行してください。そうでなければコンテンツを表示します...しかし、これが正しい方法かどうかは分かりませんこの。

どのページを実際にロードする必要があり、すべてのページビューにロードする必要がない場合にのみプリローダーを実行するのですか?これを過度に複雑にしていますか?

回答:

回答№1は0

これはあなたのものよりももっと複雑かもしれません探しているが、要求のサーバー側の処理中にクッキーの存在を確認することができます。クッキーが存在しない場合は、ユーザーが初めてページにアクセスしているため、キャッシュされません。次に、レスポンスにクッキーを設定するか、JavaScriptで設定します。クッキー する プリローダーを表示しないことを知っています。