No.207: 過去ログからの戻り
2020/09/23(Wed) 20:06
Name: 清水31 過去ログへは通常表示(スレッド画面)と一覧表示(トピック画面)の各ページから遷移できるが、過去ログの「戻る」では常に1ページ目に戻っていた。これを修正し元のページに戻るようにした。
==> うすうすは感じていたがこれだけのためにこのようなややこしい修正が必要になるとはWebシステムの基本的な欠陥を再認識した。クライアント側で状態を持つのは容易ではない。過去ログ側でファイル番号やページを変えて画面遷移する場合、<form>で画面が変わる場合はhidden属性の<input>で引き継いでいく。<a>で変わる場合は&name=valueの形で引き継いでいく。各画面では何にも使われないが最後に戻る際にのみその引き継いだ値を使って元の画面(通常表示か一覧表示)の元のページに戻るわけである。
クライアイント/サーバ型システムであればクライアント側にプログラムを持つため状態を設けることは容易であり上記のような隠し属性をずっと引き継いでいくようなことはせずに実装できるはずである。
Webシステムが大規模かつ複雑化していくということは巨大なスパゲッティ構造がどんどん肥大化していくことを意味し将来誰も保守できないといった悲惨な状況を招きかねない。