概要
angularjsでガリガリ書いてるwebアプリにて
ブラウザの戻るボタンを押すとロードしていたはずの画面が見えなくなる現象がおきた。
結果、display:none;
からvisibility:hidden;
に変えたらなおった。
めも
先人達のお知恵を拝借してブラウザにcacheさせないようにするも解決せず。。。
どうしてもブラウザのキャッシュを引いてしまいます。。。
挿入したコード
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Thu, 01 Dec 1994 16:00:00 GMT">
参考サイト
http://dany1468.hatenablog.com/entry/2014/03/07/093813
http://katsuyuzu.hatenablog.jp/entry/2013/10/11/002513
戻るボタンをつかえないようにhistory.foward()も考えたのですが、
ちょっとユーザーが戸惑いそう。
ならば戻るボタンを設置してルートにとばそうとhref="/"
を挿入しても解決せず。
ただ、空白画面になってからサイドバーを出し入れするボタンを押して画面リフレッシュすると
データが表示される事がわかり、キャッシュが問題ではないことがわかりました。
で、いろいろ調べた結果、iOSのsafariだとdisplay:none;
すると
要素そのものにアクセスができなり、計算ができなそうです。
というわけで同一画面内での要素の切り替えをvisivility:hidden;
に置き換える事で
解決しました。