質問: 0) 配下の部分です。 ``` テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト テスト モーダルを表示 × モーダルのタイトルを表示する コンテンツの本文 閉じる 保存 ```
回答: > > セッションの保存まではできたのですが、セッションが保持されているかの判定状態の部分のイベントがそもそも起動していません。 > > if (str.length == 0) 配下の部分です。 > > > ↑言っている意味がよくわかりませんが、「ifブロック内の処理が実行されず、常にelseブロック内の処理が実行される」ということ? ``` sessionStorage.setItem('access_count', num); // ↑ セッションにキー名「access_count」&値「num」を格納している window.sessionStorage.setItem('access_count', num); // ↑ セッションにキー名「access_count」&値「num」を格納している var str = sessionStorage.access_count = num; // ↑ セッションにキー名「access_count」&値「num」を格納してから、格納済みの値(num)をstrに入れている ``` ↑そもそもここで同じことを何度もやっているのがわかりませんが、初回かどうかの判定なら直接sessionStorageを参照すればいいのでは? ``` let key = 'access_count'; if(!window.sessionStorage.getItem(key)){ // <= セットされてなければnullなのでこのブロックに入る。 // 初回なのでsessionStorageに値を格納 window.sessionStorage.setItem(key, 1); // そのほか必要な処理 }else{ // 初回以外の処理 } ```