2016-04-14 11 views
0

ウェブサイトには、最初に訪れたときのような滝のような、中心的な特徴としてイラストされた地図があります。目標は、ユーザーが特定のセッション内のページにアクセスするたびにマップを再ロードする必要はないということです。ユーザーが特定のセッションでナビゲートするたびにマップが常にリロードされないようにするにはどうすればよいですか?ここ図解された地図をキャッシュする方法は?

リンク:http://thebambergergroup.com/map/murray-hill/nyc

答えて

0

うまくいけば、私は右のこの質問を理解していますが...ここに行きます!

クイックアンドダーティな方法は、ユーザーがまだ地図を読み込んでいるかどうかについて少しの状態を保存してから、マップをどのように読み込むかを決定するために使用します(滝のフェードイン

画像ロードが完了したら(終了時にハンドルを持っていない場合は、チートを使用してタイマーを使用するか、ユーザーが全くのページ:

//please don't actually do it this way, 
 
//there are many better libraries to handle cookies 
 
//you'll also want to look at expiry time, etc 
 
function loadImagesFinished(){ 
 
    document.cookie = 'mapLoaded=true'; 
 
}

あなたのページがロードされていて、イメージをロードする方法を決定したいときのため

次に、:

var haveMapImagesBeenLoaded = getCookie('mapLoaded'); 
 
if (haveMapImagesBeenLoaded){ 
 
    loadImagesWaterfallAnimation(); 
 
} else { 
 
    loadImagesAllAtOnce(); 
 
}

明らかに単純化し過ぎの多くが起こっていますが、アイデアを得ます。

より堅牢な方法をご希望の場合は、サーバー側のセッション記憶域を使用できます(ご使用の言語でサポートされている場合は可能性があります)。しかし、一般的なアプローチはまだ同じです。セッションにmapLoaded属性が含まれていない場合はそれをチェックし、設定して、ウォーターフォールアニメーション(別のHTML、<script>タグ内のJS変数、http応答ヘッダー、クッキー...何か!)。それ以外の場合は、一度にすべてロードしてください!