え、そうなの? safariとfirefoxでブラウザバックすると、jsで変更後のhtmlになる(キャッシュのせいで)
jsでformタグのactionの値を、ユーザがクリックした場所で切り替えるような
コーディングをしていたところこの問題が発生しました。
例)
domain.com/list.phpをurl直たたきをするとこんなhtmlになるページに対して
<form action="?">
ユーザがとあるリンクをクリックするとjsでこうしてpostする
<form actioin="detail.php?id=123123">
そしてブラウザバックした場合に
<form action="?">
しかし、
<form actioin="detail.php?id=123123">
となる。
こなると、action="?"でpostするつもりだったリンクのpost先がdetail.phpになってしまい、挙動がおかしくなります。
対策は、自分自身にpostしたいクリックイベントを拾って
$(#selector").attr("action","?");
こうやって強制的に一度、?に書き換えるスクリプトを追加。
これで解決。
ほかにもこんな手でも解決するらしい。
時と場合によって、使いわけよう。
ブラウザバックした場合でも、サーバと通信する。
河西 高明 Tech Blog: Safariで"戻る・進む"時のキャッシュを無効にする
よくわかりませんが。。。