新しくなったエロジンへようこそ
10月まで旧サイトを公開しています。
https://old.erozine.jp
画像が見れない報告が目立っております
原因究明までお時間をいただくことがあります
2024.06.23(日)
対策として画像サーバ変更ボタンが設置されました
ギニューのチェンジが表示されれば成功です

AMPバージョンはこちら

9ページ目が唐突すぎるので間を開けたが良いと指摘を受けるエロ漫画か

日付2024-01-11T15:24:00
分類
画像24枚
訪問数

今日は別サイトでお気に入り機能を実装していたところ、とあるエラーに頭を抱えた。

  1. localStorageのBookmarkというItemに5件の記事がJSON型データで入っている。
  2. 新しい記事を1件追加し、localStorageには6件になる。
  3. ブラウザで戻る
  4. 戻り先の、既にBookmark済みの記事を、Bookmark解除ボタンを押す。
  5. するとlocalStorageには4件になる。

なぜならlocalStorageには確かに戻った時点で6件だが、JavaScriptの変数は保持されてしまうため、戻った時、JavaScriptのBookmarkという変数には5件の状態になるのだ。

そこで1件削除すると5件が4件になり、その4件のデータをセットしてしまうため、一気に2件削除されてしまうのだ。

解決方法は至って簡単で変数の宣言を、ボタンクリック時にすればよいだけだ。

大雑把に解説

const tinpo = JSON.parse(localStorage.getItem('bookmark') || JSON.stringify("{}"));
bookmark.onclick = x => {
tinpo[key] = manko;
localSrotage.setItem('bookmark', JSON.stringify(tinpo));
}

修正後

bookmark.onclick = x => {
const tinpo = JSON.parse(localStorage.getItem('bookmark') || JSON.stringify("{}"));
tinpo[key] = manko;
localSrotage.setItem('bookmark', JSON.stringify(tinpo));
}

変数tinpoを外側に入れておけば、別の処理で簡単にアクセスできるが、クリックメソッド内に入れてしまうとまた同じように変数宣言しなければならない。ナンセンスだが背に腹はかえられないのだ。

作品名:

魅悪くちる先生の暴走

作者:雲呑めお
プレビュー数:24
備考:続きは書店にてお買い求めください。

喫茶店で放送禁止用語をぺちゃくちゃ喋る変態の二人がいたら10中8九エロ漫画家とその編集担当であるという。

1/24
0
2/24
2
3/24
1
4/24
3
5/24
1
6/24
1
7/24
1
8/24
3
9/24
0
10/24
1
11/24
0
12/24
1
13/24
0
14/24
0
15/24
0
16/24
2
17/24
3
18/24
0
19/24
0
20/24
1
21/24
0
22/24
1
23/24
0
24/24
4
日付2024-01-11T15:24:00
分類
画像24枚
訪問数
最後までお読みいただき有難うございました
Thank you for watching until the end

似たような記事