【JavaScript】初アクセス時だけローディング画面を表示(Web Strage API)

こんにちは、福井県福井市でホームページ制作をしている@じょうです。

このページでは、僕が調剤薬局で薬剤師をやっていたときに調べたことをまとめております。

どうぞ皆様の学習にお役立てください。

おはようございます。

朝活中の@ジョウです。
元調剤薬局の薬剤師で、今は福井県福井市でフリーランスのホームページ制作しています。

先日、Web制作会社からいただいた案件で、初アクセスの時だけローディング画像を表示する方法を学べたので、まとめておきます。

スポンサーリンク

【コピペOK】完成コード

コードは以下の通り。

お時間ない人は、コピペしてお帰りください。

お時間ある方は、少し解説するのでお付き合いください。

Web Storage APIという仕組みを利用

今回のコードの要点は、『sessionStorage』です。

これは、Web Storage APIという仕組みを使っています。

Web Storageを訳すと、『ウェブの貯蔵庫』。HTML5で登場した仕組みで、ホームページで扱う情報が保存されています。

APIは、アプリとプログラムをつなげるもの。

つまり、Web Storage APIは、ホームページの情報とプログラムをつないでくれているものという解釈でいいかなと思います。

(詳しくは、「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典を参考にしてください。わかりやすくて勉強になります(WebStorage・API))。

全体の流れ

①初めてのアクセスの時、データをセット(sessionStorage.setItem)。ローディング画像を表示。

②2回目以降のアクセスの時、セットされたデータがあるかどうかを判別し(sessionStorage.getItem)、ローディング画面を表示させない

ちなみに、セットした保存された情報のうち、ブラウザを閉じると消される情報をsessionStrage、ブラウザを閉じても消されない情報をlocalStrageと呼びます。

今回は、ブラウザを閉じるとアクセス情報が消されるので、sessionStrageを使用します。

データのセット

データをセットするために

『sessionStorage.setItem(‘key’, 値)』

と記載します。

keyと値は、任意の値です。今回は、sessionStorage.setItem(‘access’, 0)としました。

セットされたデータがあるかどうか

先ほどaccessというキーに0という値がセットされているかどうかは、

『if (!sessionStorage.getItem(‘access’)) {}』

と入力します。

初めてのアクセスなら、このif内を通り、2回目以降ならif内は飛ばされます。

まとめ

以上です。

今回紹介したコードは、ページ読み込み完了していない段階で3秒後にローディング画面を消す処理をしているので、そこでもsessionStorage.setItemを使ってデータセットする必要があります。

もしわからないことがあれば、TwitterからDMください。

スポンサーリンク

おすすめ記事

フォローする