質問 > フロント機能 > スマートフォンで「戻る」ボタンを押したとき一覧画面の位置を保持したい |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
dk8 |
投稿日時: 2017/8/31 17:20
対応状況: −−−
|
新米 登録日: 2017/8/31 居住地: 投稿: 2 |
スマートフォンで「戻る」ボタンを押したとき一覧画面の位置を保持したい もしご存知の方がいらっしゃればヒント程度でもご教示頂きたく。
EC-Cube 2.12.5 を使用しております。 商品一覧画面から詳細画面に遷移し、ブラウザの「戻る」ボタンを押したときに、リンクをクリックした位置ではなくページトップに戻ってしまうので不便だ、Google検索結果のように元の位置に戻りたい、という声をお客様から多数頂いております。 ◆ 今までに調べたこと キャッシュ関係を疑い、LC_Page::httpCacheControl の呼び出しを監視してみました。一覧画面を読み込む時、このメソッドが nocacheオプション付きで呼び出されていたので、呼び出し元を調べたところ、ログインブロックが呼び出し元であることがわかりました。 そこで一覧ページからログインブロックを外したところ、httpCacheControl の呼び出しはなくなりました。 この時点で、まだ現象は改善していませんでした。 次に、LC_Page_Products_List_Ex::init() に、$this->httpCacheControl('private'); という記述を追加しました。 ログには、httpCacheControl が一度だけ呼び出され、Cache-Control: private, max-age=max-age=10800, pre-check=10800 というヘッダが出力されていることが確認できました(クライアント側からも確認しました)。 この時点で、クライアントが detail.php の画面で戻るボタンを押し、list.php に戻ったとき、list.php に新規のリクエストが来ていない(キャッシュが表示されていると思われる)ことが確認できました。 さて、キャッシュされていれば位置を保持するだろうと思っていたのですが、しかしここまで来ても、まだ戻るボタンを押したときに先頭に戻ってしまう現象は変わりませんでした。 後は、クライアント側のレンダリング処理等疑ったら良いのかもしれませんが、どこからどう調べていったら良いのか分からず途方に暮れております。 可能であれば何かご助言頂けますと幸いです。 よろしくお願い申し上げます。 |
nanasess |
投稿日時: 2017/9/1 9:36
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2313 |
Re: スマートフォンで「戻る」ボタンを押したとき一覧画面の位置を保持したい meta タグにキャッシュまわりの設定が記述されていませんでしょうか?
|
dk8 |
投稿日時: 2017/9/1 12:33
対応状況: −−−
|
新米 登録日: 2017/8/31 居住地: 投稿: 2 |
Re: スマートフォンで「戻る」ボタンを押したとき一覧画面の位置を保持したい 【解決しました】
コメントありがとうございます。 meta 関連にキャッシュの記述はありませんでした。 その後調べていったところ、jquery mobile を読み込まないようにすれば、この問題は発生しないことがわかりました。jquery mobile のどの部分が影響しているのかは分かりません。 そして、jquery mobile を読み込まない状態であれば、当初の投稿に書いたキャッシュ関係の記述に関係なく、縦位置を保持することがわかりました(キャッシュの問題ではなかったということになります)。 jquery mobile を全体で無効にする方向で調整しようと思います。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |