トップページにおいてユーザーがフォームに入力してsubmitした後、thanksページに飛んで、その5秒後に、またトップページに飛ぶ実装をしています。
javascript
1(function(){ 2 setTimeout(function(){ 3 window.location.href = '/'; 4 }, 5000); 5});
トップページにおいて、memcachedを利用してセッションデータを一時的に保持しているのですが、ユーザーがsubmitした時点で、memcachedのデータを削除しています。
しかし、上記のjQueryでトップページに移動した時に、トップページではmemcachedで表示されていたデータが表示されてしまっています。
再度トップページをリロードすると、それは消えるので、ブラウザのキャッシュが残って表示されてしまっているのだと思います。
metaタグに、
html
1<meta http-equiv="Pragma" content="no-cache" /> 2<meta http-equiv="cache-control" content="no-cache" /> 3<meta http-equiv="expires" content="0" />
を書いても、効果がありません。
そこで、トップページに、下記記述をして、thanksページから戻って来た場合には、リロードするという方法も考えたのですが、これではページをリロードし続ける結果になってしまいました。
javascript
1$(function(){ 2 var ref = document.referrer; 3 if (ref == 'thanksページのURL'){ 4 location.reload(); 5 } 6});
一番好ましいのは、window.location.hrefやwindow.location.replaceをする時に、ブラウザキャッシュを読み込むのではなく、サーバーから読み込むような実装ができれば良いのだと思うのですが、そのような方法は見つかりませんでした。
何か、良い解決策をご存じの方、ご教示頂ければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/12 03:39