Mobile Safari は、基本的に現在のページを維持し、別のページに移動すると休止状態になる特別なキャッシュ メカニズムPage Cache
(こちら) を使用します。このようにして、ユーザーがボタンを押すと、直前のページを最新の状態ですぐに表示できback
ます。
これは Web のナビゲーションやブラウジングに役立ちますが、ユーザーがそのページに移動するたびにそのページの新しいコピーを取得する必要がある場合があるため、特別なケースでは煩わしくなります。(私の場合、ログインとメインページのページに移動する必要があります)。
ユーザーが同じアプリケーションの複数のタブを開くことを妨げるものは何もないことを完全に認識しています。私はそれについて心配していません。
ページがキャッシュされないようにするためのクロス ブラウザ ソリューションは、Safari がページを開いたままにして非表示にして一時停止しているため、役に立ちません。
window.onpageshowと処理は、ブラウザが何らかの理由で 2 回目 (ボタンを押したとき) にイベントをevent.persisted
実行しないように見えるため、役に立ちません。onpageshow
back
イベントが何であるかを知らない人への注意onpageshow
: Apple は、load
およびイベントの使用をお勧めしません。ページ キャッシュunload
の概念では、これらのイベントは明確な意味を持たないからです。したがって、イベントに期待することを行うことになっています。onpageshow
load