###発生している問題
mobile safariにて、スワイプでブラウザバックすると、画面表示はされているが、
リンクをタップしても画面遷移しないし、上下方向のフリックでもページスクロールもされず、
まるで画面が固まったような状態となり、数秒待つと画面操作が行える状態となる。
※上記状態の際、アドレスバーの上のローディングマークが表示されている。このローディングマークが消えると画面操作ができる。
###試したこと
スワイプでブラウザバック時、bfcacheにより即時に画面表示されているが、何かjavascriptの非同期処理が動き、その処理完了をブラウザが待っているために、まるで画面が固まったような状態になっていると予想。
そこで、キャッシュが利用された際に、非同期処理をキャンセルしたいと考え、
以下、javascriptでキャッシュが利用されたことを検知しようと試みたが、スワイプでブラウザバックしてもダイアログが表示されなかった。よって、このコードではキャッシュが利用されたことが検知できないと考えている。
javascript
1window.onpageshow = function(event) { 2 if (event.persisted) { 3 alert('xxxx'); 4 } 5};
###実現したいこと
最終的には、スワイプでブラウザバック時、画面表示後すぐに画面操作できるようにしたい。
###お願いしたい回答
下記1 or 2の回答をお願いしたいです。
0. javascriptでキャッシュが利用されたことを検知するにはどうしたらよいか
0. そもそも、スワイプでブラウザバック時、画面表示後すぐに画面操作できるにはどうしたらよいか
###補足情報(言語/FW/ツール等のバージョンなど)
iOS 10.3.3
jquery-3.1.0.min.js
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。